Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想使用phppreg_match来捕获包含以下内容的子字符串:
preg_match
它不能捕获包含其他任何内容的字符串,包括数字字符。
这个例子很接近,但也捕获了包含数字字符的字符串:
preg_match("/([\p{L} -]+)/u", $string)
一个类似的问题已经有了答案(上面的那个),但它不起作用......
如果我正确理解了您的问题(我可能没有),那么您只需使用^ and$字符来指定“匹配必须从这里开始,匹配必须从这里结束”:
^
$
/^([\p{L} -]+)$/u ^ ^
preg_match仅当字符串中没有其他内容时才会返回 true 。
演示
编辑:
如果连字符/空格只允许在中间:
/^([\p{L}](?:[\p{L} -]+[\p{L}])?)$/u