限定符用来指定正则表达式的一个给定组件必须要出现多少次才能满足匹配 。有 * 或 + 或 ? 或 {n} 或 {n,} 或 {n,m} 共6种 。
正则表达式的限定符有:
由于章节编号在大的输入文档中会很可能超过九,所以您需要一种方式来处理两位或三位章节编号 。限定符给您这种能力 。下面的正则表达式匹配编号为任何位数的章节标题:
请注意,限定符出现在范围表达式之后 。因此 , 它应用于整个范围表达式,在本例中,只指定从 0 到 9 的数字(包括 0 和 9) 。
这里不使用 + 限定符,因为在第二个位置或后面的位置不一定需要有一个数字 。也不使用 ? 字符,因为使用 ? 会将章节编号限制到只有两位数 。您需要至少匹配 Chapter 和空格字符后面的一个数字 。
如果您知道章节编号被限制为只有 99 章,可以使用下面的表达式来至少指定一位但至多两位数字 。
上面的表达式的缺点是,大于 99 的章节编号仍只匹配开头两位数字 。另一个缺点是 Chapter 0 也将匹配 。只匹配两位数字的更好的表达式如下:
或
* 、+限定符都是贪婪的 , 因为它们会尽可能多的匹配文字,只有在它们的后面加上一个?就可以实现非贪婪或最小匹配 。
例如,您可能搜索 HTML 文档,以查找括在 H1 标记内的章节标题 。该文本在您的文档中如下:
H1Chapter 1 - 介绍正则表达式/H1
贪婪: 下面的表达式匹配从开始小于符号 () 到关闭 H1 标记的大于符号 () 之间的所有内容 。
非贪婪: 如果您只需要匹配开始和结束 H1 标签 , 下面的非贪婪表达式只匹配 H1 。
如果只想匹配开始的 H1 标签,表达式则是:
通过在 *、+ 或 ? 限定符之后放置 ? , 该表达式从"贪心"表达式转换为"非贪心"表达式或者最小匹配 。
定位符使您能够将正则表达式固定到行首或行尾 。它们还使您能够创建这样的正则表达式,这些正则表达式出现在一个单词内、在一个单词的开头或者一个单词的结尾 。
正则表达式的定位符有:
【php中数据的验证 php验证码代码怎么写】关于php中数据的验证和php验证码代码怎么写的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- phpcms表单上传附件,phpcms h5上传
- js里面点击按钮播放音频,js 播放音频
- html5怎么弹出触发事件框的简单介绍
- 保证redis数据一致性,redis保持数据一致
- java代码对了但是报错 java代码错误提示
- 微信公众号申请发视频,微信公众号官方网站
- flutter代码怎么写,flutter_thrio
- 一体机电脑独立显卡怎么拆,一体机拆机显卡
- java代码详解 java代码怎么写