• ベストアンサー

正規表現の初心者です

正規表現初心者です。 なぜ、 [0-9]+ という正規表現が下記の112にあたらないのでしょうか? 0-9(数字)の一文字以上の繰り返しなので、複数桁の数字にマッチすると思ったのですが・・。 echo 112|grep -e "[0-9]+" > (マッチせず)

質問者が選んだベストアンサー

  • ベストアンサー
  • root139
  • ベストアンサー率60% (488/809)
回答No.1

grep のデフォルトの正規表現では、1文字以上の繰り返しは「+」ではなく「\+」となります。 「+」をエスケープしてやるか、 echo 112 | grep -e "[0-9]\+" -E オプションで拡張正規表現を使えば良いかと。 echo 112 | grep -E "[0-9]+"

参考URL:
http://www.kt.rim.or.jp/~kbk/regex/regex.html
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

正規表現はその処理するコマンドや言語によって違う、ということです。 自信が無ければ、マニュアルや下の参考資料などを読みましょう。 http://www.kt.rim.or.jp/~kbk/regex/regex.html

すると、全ての回答が全文表示されます。

関連するQ&A