沃梦达 / 编程问答 / php问题 / 正文

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

Regex pattern using w.* not matching text starting with foreign characters such as #196;(使用w.*的正则表达式模式不匹配以外来字符开头的文本,如#196;)

本文介绍了使用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://www.regular-expressions.info/unicode.html
和http://php.net/manual/en/regexp.reference.unicode.php

这篇关于使用w.*的正则表达式模式不匹配以外来字符开头的文本,如Ä的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

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

基础教程推荐