作为序言,我是编写正则表达式的新手(而且非常不擅长)。
我正在尝试在PHP函数preg_split
中使用一个正则表达式,并希望通过来描述
*
**
`
我遇到麻烦了,因为这些字符是命令。如何编写正则表达式来完成此操作?
对于PCRE
和其他所谓的兼容风格,必须转义这些外部字符类。
. ^ $ * + ? () [ { ' |
倒勾没有特殊含义,所以您不需要逃避它。
preg_split('/'*{1,2}|`/', $text);
参见Demo
注意:为了将来参考,您可能需要研究使用preg_quote()
preg_quote()接受str,并在正则表达式语法中的每个字符前面放一个反斜杠。如果您有一个需要在某些文本中匹配的运行时字符串,并且该字符串可能包含特殊的regex字符,那么这将非常有用。
preg_split("(?:'*{1,2}|'`)", $string);