正则表达式引擎——普适规则
来源:互联网 发布:李嘉欣真人知乎 编辑:程序博客网 时间:2024/04/30 01:32
两条普适规则
规则1:优先选择最左端匹配结果
规则2:标准量词优先匹配
规则1
因由:正则表达式匹配文本时候,总是从最左边的字符开始逐个匹配,从当前位置测试整个表达式能匹配的文本,如果不能匹配,则从下一个字符开始重新尝试。
例子1:
正则表达式: cat
文本:it indicates that your cat is too fat.
匹配结果: indicates
由于从左开始匹配,左边的indicates首先满足了表达式cat
正确的正则表达式:\bcat\b例子2:
正则表达式: fat|cat|it|your
文本: it indicates that your cat is too fat.
匹配结果: ?
【注意】显然,按照从左到右一次匹配的原则,it首先被匹配到,而不是正则表达式中的fat
规则2:
1、标准匹配量词:?、*、+、{min, max}
2、量词解决了满足匹配成功的下限和上限,?表示0次或1次,*表示不限次数,+表示至少一次
3、.*表示所有,既可以是任意字符,也可以表示空白
4、过度匹配优先:通过量词可以匹配尽可能多的字符串,但是表达式仍然有其他需要匹配的字符,这时候就会”强迫“把已经匹配的字符”交还“
例子:
正则表达式: .*([0-9][0-9])
文本: you are 23 years old.
解析:.*可以匹配全部字符串,但是()内的表达式要求有两个数字字符,因此.*需要从右向左逐个交还字符,直到取得2个数字
结果: you are 23
0 0
- 正则表达式引擎——普适规则
- 正则表达式引擎的规则
- 正则表达式学习笔记之一——正则表达式引擎
- 正则表达式——密码规则匹配
- Javacript—正则表达式匹配规则
- Oracle——正则表达式REGEXP_SUBSTR及表达式匹配规则
- 规则引擎教程--表达式规则
- 规则引擎表达式规则学习
- 正则表达式的规则
- 正则表达式匹配规则
- 正则表达式匹配规则
- javascript正则表达式规则
- 正则表达式规则
- 正则表达式规则
- 正则表达式规则(一)
- 正则表达式规则(二)
- 正则表达式规则(三)
- 正则表达式使用规则
- [SMOJ1710]砖块II
- Spring注入bean及设置bean值
- 蓝桥杯——十六进制转八进制(Java实现)
- POST和GET请求的汉字乱码问题
- (操作系统原理·第三章)生产者-消费者问题
- 正则表达式引擎——普适规则
- Java学习笔记--走进Java
- Ubuntu中ssh安装和修改ssh配置允许root登录
- 垃圾收集器(GC)
- 01背包问题
- GO结构体类型
- WPF功能区控件
- 欢迎使用CSDN-markdown编辑器
- spring 属性注入