为什么preg_replace函数中的汉字性能错误?

时间:2017-10-18 04:20:18

标签: php regex preg-replace preg-match

我的代码是:

preg_replace('/[中]/', '1', '中,博文大,精中深');

为什么结果是:

111,博文大,精111深

中文字符“中”应该替换一次,而三次则替换。

有任何帮助吗?感谢

1 个答案:

答案 0 :(得分:1)

首先,请阅读有关unicode characters in regexps的文章。 接下来,您可能需要有关modifiers的文章。我认为你的正则表达式中需要# Attach objects created by exec to module_to_add_to for k, v in exec_results.iteritems(): setattr(module_to_add_to, k, v) globals()[k] = v 修饰符。

u

请参阅modifiers文章中的评论以获取更多示例。

此外,对于上述示例中的简单替换,您可以使用str_replace

preg_replace('/[中]/u', '1', '中,博文大,精中深');