php - 如何使正则表达式不饿引号?

标签 php regex unicode

如何让它不饿 - preg_match_all('/"[\p{L}\p{Nd}а-яА-ЯёЁ -_\.\+]+"/ui', $outStr, $匹配);

最佳答案

你的意思是非贪婪的,比如找到最短的匹配而不是最长的? *+? 量词默认是贪心的,会尽可能匹配。在它们之后添加一个问号,使它们成为非贪婪的。

preg_match_all('/"[\p{L}\p{Nd}а-яА-ЯёЁ -_\.\+]+?"/ui', $outStr, $matches);

贪心匹配:

"foo" and "bar"
^^^^^^^^^^^^^^^

非贪婪匹配:

"foo" and "bar"
^^^^^

关于php - 如何使正则表达式不饿引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5978328/

相关文章:

php - MySQL PHP undefined offset 错误

php - 如何在 PHP 中为拼写错误的单词找到相似的单词?

php - 什么时候在 PHP 中使用引用传递比较好?

HTML/Unicode 字符,特别是 .resx 文件中的复选标记字符在 HTML 中未正确呈现?

perl DBIx sqlite {sqlite_unicode=>1}?

php - 尝试通过简单的 .php 文件获取数据时出现不熟悉的 MySQL 错误

regex - 递增 Python 字符串中的最后一位数字

regex - 从二进制文件中提取字符串 - 正则表达式问题

python - 如何在 Python 中使用正则表达式检测空格分隔的数字?

java - 当组合三个字符ക (\u0D15) + ് (\u0D4D) + ര (\u0D30) 时,Unicode 字体不会在 SWING 中呈现,得到 ര്ക 而不是 ക്ര