PHP preg_matchで中括弧が引っかからない。

このエントリーをはてなブックマークに追加
はてなブックマーク - PHP preg_matchで中括弧が引っかからない。
LINEで送る
Pocket

PHPの正規表現関数の中で一番早いpreg_matchが思い通り動かない。

以下のコードで中括弧が無かったら、trueを出したいのだが、無くてもtrueが出ちゃう。

このエントリーをはてなブックマークに追加
はてなブックマーク - PHP preg_matchで中括弧が引っかからない。
LINEで送る
Pocket

matsubokkuri

Please feel free to contact me via e-mail, twitter and facebook!

あわせて読みたい

2件のフィードバック

  1. より:

    これだと中括弧以外が1文字でもあったらtrue

    中括弧があったらfalseにしたいなら
    preg_match(‘/^[^{}]+$/’,’紙’);
    かな

  2. Yuki Matsukura より:

    こんな過去の記事にコメントありがとうございます。

    今見てみると、本文のコードよくわからないですね。

    当時のコードと実行環境は残っていないので推測ですが、「紙」のUTF8のバイト列と「{」のバイト列を比較した際に、「{」のバイト列が「紙」のバイト列に含まれている。

    よって、PHPの正規表現で「紙」が「{」にマッチしてしまう事を書きたかった記事だと思います。

    手元の環境で試してみましたが、再現しませんでした。

コメントを残す