我有一个正则表达式,我怀疑它最初是为。net Regex引擎编写的,我试图在PHP中使用。它包含以下PCRE似乎不支持的字符大小写(没有返回匹配,但没有错误):
[a-z-[cfx]]
preg_match('/[a-z-[cfx]]/', 'a'); => int(0)
preg_match('/[a-z-[cfx]]/', 'b'); => int(0)
preg_match('/[a-z-[cfx]]/', 'c'); => int(0)
preg_match('/[a-z-[cfx]]/', 'f'); => int(0)
preg_match('/[a-z-[cfx]]/', 'x'); => int(0)
我已经检查了一个跨平台的指南,但还没能找出这个子案例实际做什么-它是a-z
没有c
f
和x
?如果是这样,用PCRE写这个最好的方法是什么?
它确实从外部字符类中排除字符。你可以在这里读到。
要在PCRE中实现相同的功能,您可以使用/[abdeg-wyz]/
。