使用w.*的正则表达式模式不匹配以外来字符开头的文本,如Ä;
我有以下已成功使用的正则表达式:
preg_match_all('/(d+)
(w.*)
(d{3}.d{3}.d{2})
(d.*)
(d.*)/', $text, $matches)
不过,我刚刚发现,如果(w.*)
部分匹配的文本以Ä
这样的外来字符开头,则它与任何内容都不匹配。
谁能帮我找出匹配以任何字符开头的字符串的正确模式应该是什么,而不是(w.*)
?
非常感谢
解决方案
如果do要匹配元音,则添加regex/u
修饰符,或使用pL
代替w
。这将允许正则表达式匹配ASCII范围之外的字母。
和http://php.net/manual/en/regexp.reference.unicode.php
相关文章