- 締切済み
正規表現のコーディングについてお願いします。
こんにちは、よろしくお願いいたします。 正規表現パターンを書く場合に皆さんがどのようにされているか教えてください。 例えば(ちょっとムリヤリ感が強いですが)、'Price \5800-' という文字列の \5800 の部分に preg_match でマッチさせたいとします。 単純に考えると、 /\\\d+/ のようなパターンが思いつくのですが、それを文字列として preg_match に渡す際に、コードはどのように書かれますか? <?php $str = 'Price \5800-'; //とりあえず、'/\\\d+/' と書き、'/\\\\\\d+/' と、\ をそれぞれの \ に書き足す if ( preg_match('/\\\\\\d+/', $str, $match) ) { print_r($match); } ?> 「まず、パターンを書き、全ての \ の前に \ を書き足す。」というのが無難なのかな?と思い、そうしていますが、 そういった考え方で間違っていないでしょうか? どうぞよろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- notnot
- ベストアンサー率47% (4900/10358)
回答No.1
>そういった考え方で間違っていないでしょうか? というか、それ以外に考え方が無いと思います。
お礼
ありがとうございます。 >というか、それ以外に考え方が無いと思います。 perl から流れてきていまして、どうも正規表現を文字列として考える習慣が無いもんですから。 今回のケースだと、'/\\\\\d+/' でも同じ結果を得る事ができますが、やはりそういった書き方をする事は無いのですね。 ちょっと込み入った正規表現を書く時にちょっと面倒だなぁと思い、もしかしたら他の人はなんだか特殊な方法でうまくやっているんじゃ? と思って質問したところです。 どうもありがとうございました。