- ベストアンサー
[15]にマッチする正規表現
[15]にマッチする正規表現 [15] にマッチする正規表現を書きたいのですが、うまくいきません。。。。 簡単だ、と思ったのですが。。。 expr "$DATA1" : .*\[15\].* と書くと、中の数字が15じゃなくてもマッチしてしまいます。 expr "$DATA1" : .*15.* であれば"15"にマッチしますが、対象の文字列の都合上、カッコでも識別する必要があり 困っております。[と]をエスケープする目的で\をつける、と思っているのですが、何か 思い違いをしているのでしょうか。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
シェルから起動するexprコマンドのことですよね。 シェルが\を解釈するので、\[ とexprに解釈させたければ、少なくとも \\[ と書く必要があります。 expr "$DATA1" : .*\\[15\\] 普通は' ' で囲んで、 expr "$DATA1" : '.*\[15\]' でしょうか。囲んだ中身がそのままexprに渡ります。' ' を使わないで \ を使うなら、 expr "$DATA1" : .\*\\\[15\\\]
お礼
回答ありがとうございました。 結局うまくいきませんでした。 sed、awkを組み合わせて乗り切りました。