我一直在努力根据RegEx
制作一些功能,其中大多数使用\Q
和\E
作为RegEx
{{1}是用户输入。
所以,假设我们假设我们正在使用pattern
delimiter
并希望将其与/
匹配,该函数会在/
的行中构建一些内容。
我不确定为什么/\Q/\E/
与/\Q/\E/
不匹配,而是与其他所有分隔符匹配,除非您使用与/
相同的分隔符。
也许,它认为分隔符是结尾,即使它是在一个只有文字的块中,并且是文字的转义。不确定,试过一堆。
希望有人可以帮助我找到正确的方向来解决这个问题的解决方法。
答案 0 :(得分:1)
有助于理解/
不是正则表达式元字符,例如*
或(
。它很特别,因为你用它来分隔正则表达式本身,而逃避正则表达式分隔符的唯一方法是使用反斜杠(\/
)。
但您不需要使用\Q
和\E
。 preg_quote()
方法采用delimiter
参数,因此它可以在需要的任何地方正确添加反斜杠。