JavaScript正则表达式无法在PHP中运行

时间:2013-05-07 18:32:19

标签: php javascript regex

我的这个正则表达式在JavaScript中正常工作(开头的空白区域):

 *\u002D *| *\u003A *| *\u002C *| *\u002F *| *\u2012 *| *\u2013 *| *\u2014 *| *\u2015 *| *\u2018 *| *\u2019 *| *\u0022 *| *\u0027 *

它还用一个空格替换一些unicode字符(破折号,冒号,撇号等)和白色空格,例如“word:word - word”将是“word word word”。所以我正在尝试从字符串中删除一些特定的unicode字符。

现在我需要在PHP中使用这个正则表达式。我知道单个unicode char应该在PHP regexp中看起来像这样:\ x {xxxx}所以我的新正则表达式看起来像这样,它根本不起作用......

/ *\x{002D} *| *\x{003A} *| *\x{002C} *| *\x{002F} *| *\x{2012} *| *\x{2013} *| *\x{2014} *| *\x{2015} *| *\x{2018} *| *\x{2019} *| *\x{0022} *| *\x{0027} */

1 个答案:

答案 0 :(得分:2)

只要对正则表达式使用/u修饰符,它就可以正常工作。

Example Greek capital letter phi

echo preg_match('/\x{03a6}/u', 'Φ');