重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

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

A 回答 (2件)

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
    • good
    • 0

正規表現はその処理するコマンドや言語によって違う、ということです。


自信が無ければ、マニュアルや下の参考資料などを読みましょう。
http://www.kt.rim.or.jp/~kbk/regex/regex.html
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!