2011年8月3日水曜日

PHP日本語正規表現

PHPでtextから欲しいところ拾ってくるのにはじめて正規表現ってのを使ったのでメモ。

とりあえず、お世話になったのはここ→PHP正規表現チェッカー ver1.0.3

 

よく使った表現はこんなの。

アルファベット [a-zA-Z]

数字      [0-9]

漢字       [一-龠]

ひらがな    [ぁ-ん]

かたかな    [ァ-ヴー]

アルファベットとか数字とか半角記号はちょっと調べればいくらでも出てくるからいいのだけど、

日本語は最初どうやっていいのか全然わからなくてつまった。

全角記号もよくわからなくて結局ありそうなの全部列挙したりした。

欲しかったもののひとつに特定の2つの言葉(キーワード1とキーワード2)の間の文字列があって結局下の感じに書いて解決したけど、今書いててワイルドカード的なものが実はあってそれ使えば瞬殺だったんじゃないのって思った。あれ。

preg_match_all("{キーワード1[a-zA-Z0-9%一-龠ぁ-んァ-ヴー【】「」{}『』()()-s]+キーワード2}U",$text,$matches,PREG_PATTERN_ORDER);