1

我让这个正则表达式在 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 正则表达式中应该是这样的:\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} */
4

1 回答 1

2

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

希腊大写字母 phi示例

echo preg_match('/\x{03a6}/u', 'Φ');
于 2013-05-07T18:41:48.600 回答