php – [0-9]和[0-9]之间有什么区别?

栏目: PHP · 发布时间: 7年前

内容简介:有人可以解释一下[0-9]和[0-9]之间的区别是什么?翻译自:https://stackoverflow.com/questions/6186569/what-is-the-difference-between-0-9-and-0-9

有人可以解释一下[0-9]和[0-9]之间的区别是什么?

PHP用于正则表达式的PCRE引擎支持 “possessive quantifiers”

Quantifiers followed by + are “possessive”. They eat as many characters as possible and don’t return to match the rest of the pattern. Thus .*abc matches "aabc" but .*+abc doesn’t because .*+ eats the whole string. Possessive quantifiers can be used to speed up processing.

和:

If the 07001 option is set (an option which is not available in Perl) then the quantifiers are not greedy by default, but individual ones can be made greedy by following them with a question mark. In other words, it inverts the default behaviour. 

不同之处在于:

/[0-9]+/  - one or more digits; greediness defined by the PCRE_UNGREEDY option
/[0-9]+?/ - one or more digits, but as few as possible (non-greedy)
/[0-9]++/ - one or more digits, but as many as possible (greedy, default)

This snippet 在贪婪默认模式下可视化差异.请注意,第一个片段在功能上与最后一个片段相同,因为默认情况下已经应用了(在某种意义上)附加片段.

This snippet 在应用PCRE_UNGREEDY(默认为默认模式)时可视化差异.查看默认值是如何反转的.

翻译自:https://stackoverflow.com/questions/6186569/what-is-the-difference-between-0-9-and-0-9


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Ruby on Rails敏捷开发最佳实践

Ruby on Rails敏捷开发最佳实践

李刚 / 电子工业出版社 / 2008-4 / 79.80元

《Ruby on Rails敏捷开发最佳实践》适用于正在使用Ruby On Rails进行应用开发的开发人员、渴望了解Ruby On Rails框架的开发人员,尤其适合有初步的Java EE开发经验,想从Java EE平台过渡到Ruby On Rails开发平台的开发者。 Ruby On Rails框架一经推出,立即引起B/S结构应用开发领域革命性的变化:开发者无需理会架构,只需要按Rail......一起来看看 《Ruby on Rails敏捷开发最佳实践》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器