我有以下我一直在成功使用的正则表达式:
preg_match_all('/(\d+)\n(\w.*)\n(\d{3}\.\d{3}\.\d{2})\n(\d.*)\n(\d.*)/', $text, $matches)
但是我刚刚发现,如果 (\w.*)
部分匹配的文本以外来字符开头,例如 Ä
,那么它不会匹配任何东西。
任何人都可以帮助我正确的模式应该是什么而不是 (\w.*)
来匹配以任何字符开头的字符串?
非常感谢
最佳答案
如果您确实想要匹配变音符号,则添加正则表达式 /u
修饰符,或使用 \pL
代替 \w
。这将允许正则表达式匹配 ASCII 范围之外的字母。
引用:http://www.regular-expressions.info/unicode.html
和 http://php.net/manual/en/regexp.reference.unicode.php
关于php - 使用 w.* 的正则表达式模式不匹配以外来字符开头的文本,例如 Ä,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8137315/