尽管正则表达式测试人员工作

时间:2016-06-18 18:24:20

标签: php regex preg-match

我正在尝试使用/[\p{L}\s]{6,}/验证字符串并尝试仅匹配字符(Unicode字符串也是如此)。我使用regex101来测试我的正则表达式,它适用于字符串Владимир Алексић。 但是,当我在preg_match()中使用具有相同字符串的正则表达式时,它始终返回0。然而,如果我避开除A-Za-z之外的所有字符,它将返回1。

为什么会这样?

Proof for regex101

2 个答案:

答案 0 :(得分:3)

使用\ p {Cyrillic}匹配西里尔字符,即:

/[\p{L}\p{Cyrillic}\s]{6,}/u

来源:Source

答案 1 :(得分:3)

除非设置了\p escape sequences,否则使用unicode字符属性的u和其他pattern modifier不起作用。

/[\p{L}\s]{6,}/u