标签: php
我想使用php的preg_match来捕获包含以下内容的子字符串:
preg_match
它不能捕获包含其他任何内容的字符串,包括数字字符。
此示例已关闭,但也会捕获包含数字字符的字符串:
preg_match("/([\p{L} -]+)/u", $string)
类似的问题已经有了答案(上面的答案),但它不起作用......
答案 0 :(得分:0)
如果我理解你的问题(我可能没有),那么你只需要使用^和$字符来指定“匹配是从这里开始和匹配HAS在这里结束“:
^
$
/^([\p{L} -]+)$/u ^ ^
然后preg_match只有在字符串中没有其他内容时才会返回true。
DEMO
修改强>:
如果只允许在中间使用连字符/空格:
/^([\p{L}](?:[\p{L} -]+[\p{L}])?)$/u