正则表达式匹配必须在PHP正则表达式中转义的字符

时间:2014-08-11 03:15:12

标签: php regex

我查看了this question,其中显示了需要转义哪些字符。但是,我在构造正则表达式方面遇到了很多麻烦,该正则表达式将匹配字符串中其中一个字符的任何实例。

对于这个问题的一些背景知识,我实现了一个简单的逐字逐句(或者如果你愿意,可以用术语)翻译数据库,用户输入语言对,然后可以触发翻译文本。用户输入"是/否"等字符串时会出现问题。所以,在PHP中,我需要转义要匹配的字符串,并将其放置如下:

"/\b".$target."\b/"

那么,我需要在preg_replace方面看一下什么呢?

1 个答案:

答案 0 :(得分:4)

您想使用preg_quote()。正如文件明确指出:

  

preg_quote()接受str并在作为正则表达式语法一部分的每个字符前放置一个反斜杠。如果您有一个需要在某些文本中匹配的运行时字符串,并且该字符串可能包含特殊的正则表达式字符,这将非常有用。

\Q ... \E,(\Q\E之间的内容被视为普通字符,而不是正则表达式字符。)