2013/07/17

正規表現デリミタ

仕事でPHP触ってる時にSmartyの変数を展開する際のescapeを追いかけてる時に発見した

  return preg_replace("%(?<!\\\\)'%", "\\'", $string);

とかいう正規表現について

一般的に使用される正規表現のデリミタは「/」だと思うんだけど
ここでは「%」がデリミタとして使用されていた

最初見た時全然わからなかったけど

http://php.net/manual/ja/regexp.reference.delimiters.php

↑ここ見るとちゃんと書かれてた

デリミタに「%」などを使用することにより正規表現中に「/」が出てきた場合に
エスケープが不要らしい

へぇー

0 件のコメント:

コメントを投稿