3、正则表达式分组和贪婪与懒惰
一、分组的简单
1、 将子表达式做成子集
2、 使用()进行分组
3、 方便match的字符串进行划分
4、 简单例子:(\d{1,3}\.){3}\d{1,3}
解析:这是一个匹配IP地址的表达式
(\d{1,3}\.)表示一个分组,用()括起来
{3}表示上面的分组要出现3次
5、 分组命名(?<groupname>exp)
Exp就是写政治表达式的,groupname是给它命名。
6、 (?:exp) 匹配exp正则表达式,不不过匹配的文本,也不给此分组分配分号
二、贪婪与懒惰
1、贪婪:尽可能多地匹配
测试例子:
aabab
正则表达式:a.*b
结果是aabab而不是到第一个b就结束(即不是aab)
2懒惰:尽可能地匹配少
测试例子:
aabab
正则表达式:a.*?b
结果是aab到第一个b出现就结束了,尽可能少字符
三、贪婪与懒惰总表
*? 重复任意次,当尽可能少匹配字符
+? 重复一次或更