Regex字符大小写兼容性


Regex character case compatibility

我有一个正则表达式,我怀疑它最初是为。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 fx ?如果是这样,用PCRE写这个最好的方法是什么?

它确实从外部字符类中排除字符。你可以在这里读到。

要在PCRE中实现相同的功能,您可以使用/[abdeg-wyz]/