正则表达式模式使用w.*不匹配以外来字符开头的文本,例如Ä

Sam*_*ron 6 php regex preg-match-all preg-match

我有以下我成功使用的正则表达式:

preg_match_all('/(\d+)\n(\w.*)\n(\d{3}\.\d{3}\.\d{2})\n(\d.*)\n(\d.*)/', $text, $matches)
Run Code Online (Sandbox Code Playgroud)

但是我刚刚发现,如果(\w.*)部件匹配的文本以外来字符开头Ä,那么它与任何东西都不匹配.

任何人都可以帮助我正确的模式应该是什么,而不是(\w.*)匹配以任何字符开头的字符串?

非常感谢

mar*_*rio 9

如果你想匹配变音,然后添加正则表达式/u修改,或使用\pL替代\w.这将允许正则表达式匹配ASCII范围之外的字母.

参考:http://www.regular-expressions.info/unicode.html
http://php.net/manual/en/regexp.reference.unicode.php