ラベル 正規表現 の投稿を表示しています。 すべての投稿を表示
ラベル 正規表現 の投稿を表示しています。 すべての投稿を表示

2018年7月17日火曜日

grep 文字列の先頭から、直前に\が無い"(二重引用符)までの文字列の最短一致検索

2018 Jul. 20.
2018 Jul. 19.
2018 Jul. 17.

文字列の先頭から、直前に\(バックスラッシュ)が無い"(二重引用符)までの文字列の最短一致検索

$ grep -oP '^.*?\\".*?[^\\]"'

 -P で最短一致が可能なPearl正規表現とし、検索文字列中の?で最短一致指定、-o で一致文字列を出力

変数への結果格納
$ Result=$(echo $Str | grep -Po '^.*?\\".*?[^\\]"')

grepでの最短一致検索

2018 Jul. 21.
2018 Jul. 17.

grepに -P オプションを付ける
 最短一致可能なPearl正規表現が利用可能となる

検索文字列に ? を付ける
 ?に続く文字列の最短一致となる
 (最左最短一致なので検索文字列の先頭には注意が必要)
  qiita.com/anqooqie/items/191ad215e93237c77811

先頭からabまでの最短一致検索
$ echo adabfdabdfaabd | grep -P '^.*?ab'

-o オプションを付けると、行全体ではなく、マッチした文字列だけが1行1文字列で出力される。
$ echo adabfdabdfaabd | grep -Po '^.*?ab'