" 目录:RHCA+ -> 4 正则表达式 -> 8 分组 "

() 子表达式(也叫分组);用来指定多个字符的重复次数
默认每个分组()会自动拥有一个组号
1、从左向右,以分组的左括号为标志,第一个分组组号为1,第二个为2,以此类推
2、分组0对应整个正则表达式
3、组号分配过程要从左向右扫描两遍:第一遍只给未命名组分配,第二遍只给命名组分配;因此所有命名组的组号都大于未命名的组号
4、使用(?:exp)这样的语法可以剥夺一个分组对组号分配的参与权
(\d{1,3}\.){3}\d{1,3}:简单的IP地址匹配表达式
\d{1,3}匹配1到3位的数字;(\d{1,3}\.){3}匹配三位数字加上一个英文句号,这个分组重复3次;再加上一个一到三位的数字(\d{1,3})
但可能匹配200.300.400.500这样不存在的IP地址,并且无法使用算术比较,所以只能写更复杂的分组
((20-4\d|250-5|01?\d\d?)\.){3}(20-4\d|250-5|01?\d\d?):匹配正确的IP地址
IP地址前导0出现也属于正确格式,192.168.001.001