作为前言,我是新手(并且非常擅长)编写正则表达式。
我正在尝试在PHP函数preg_split
中使用正则表达式,我希望通过
*
**
`
我遇到了麻烦,因为这些字符是命令。如何编写正则表达式来执行此操作?
答案 0 :(得分:3)
对于PCRE
和其他所谓的兼容风格,您必须将这些风格转移到character classes之外。
. ^ $ * + ? () [ { \ |
反引号没有特殊含义,因此您无需转义它。
preg_split('/\*{1,2}|`/', $text);
请参阅Demo
注意:为了将来参考,您可能需要考虑使用preg_quote()
preg_quote()接受str并在作为正则表达式语法一部分的每个字符前放置一个反斜杠。如果您有一个需要在某些文本中匹配的运行时字符串,并且该字符串可能包含特殊的正则表达式字符,这将非常有用。
答案 1 :(得分:-1)
preg_split("(?:\*{1,2}|\`)", $string);