« 大塚 やきとり専門 掌(たなごころ) | メイン | 釧路に来てます »
2007年10月12日(金曜日)
PHPの正規表現とバックスラッシュ [ プログラミング ]
WordPress用のTeXプラグイン作成の為のメモ。
PHPにはPerl互換の正規表現があるが、メタ文字、特にバックスラッシュを含むパターンを検索しようとすると、なかなか厄介。既存のmimetexプラグインは [tex]数式[/tex]という記述をする仕様になっているが、これを、テキスト数式の $数式$
および、別組数式の \[数式\]
にマッチさせるように拡張することが目的。
試行錯誤の結果、次で上手く行った。まず、$...$
にマッチさせるには、 "#\\$(.*?)\\$#"
とする。「$
」もメタ文字なのでエスケープしないといけないが、「\$
」では上手く行かない。次に、\[ ... \]
にマッチさせるには、 "#\\\\\[(.*?)\\\\\]#"
とすれば良い。どうも、PHPの正規表現に渡されるときに、一回バックスラッシュを剥ぎ取っている模様。だから、「\\$
」は正規表現には「\$
」と渡され、「$
」もメタ文字なので、これはドル記号そのものと認識される、で良いのかな?
「\[
」のマッチングに関しては複雑怪奇。「[
」もメタ文字なのでエスケープしないといけないが、上のダラーから類推すれば「\\[
」となるはず。しかし、そうすると、残りのバックスラッシュは3個。何故に3個なのか?4個だと思ったのだが・・・。だって、正規表現に渡すときに「\\\\
」が「\\
」になり、これはバックスラッシュそのものと認識されるはずだから。うーむ、奇っ怪じゃ。
投稿者 sukarabe : 2007年10月12日 06:51
トラックバック
このエントリーのトラックバックURL:
http://njet.oops.jp/cgi/mt/mt-tb-alt.cgi/1648
このリストは、次のエントリーを参照しています: PHPの正規表現とバックスラッシュ:
» 民家盗撮!本気でオナニーしてる女子高生の動画! from 民家盗撮!本気でオナニーしてる女子高生の動画!
夜の公園でHしちゃってる高校生カップルを盗撮!
彼氏に手マンされて気持ち良さそうなのに、必死に喘ぎ声を我慢してる彼女が... [続きを読む]
トラックバック時刻: 2007年10月24日 17:12
コメント
コメントしてください
comment spam対策のため,名前とメールの入力が必須になっていますが,メールアドレスは公開されません。Web SiteのURLは任意です。Type Key IDをお持ちの方はType Keyをサイン・インしてくださってもいいです。