深色模式
正则表达式 - 扩展正则
扩展正则表达式(Extended Regular Expressions,,在很多文档中常缩写为 ERE)在基本正则表达式上进行了扩展,支持更多的特殊字符,部分特殊字符的使用场景发生了变化,特殊字符是否需要使用\进行转义的场景也发生了变化。
特殊字符
扩展正则在基础正则6个特殊字符的基础上,新增6个特殊字符,一共12个特殊字符。
.同基础正则。
[同基础正则。
\同基础正则。
在扩展正则表达式中,
\(匹配(字符自身。而基本正则表达式中,\(是子表达式的开头,基本正则表达式就用(来匹配字符(自身。*同基础正则。
^$((和)组成子表达式。)(和)组成子表达式。{{与}组成区间表达式。|表式或。
+匹配一个或连续多个上一个 BRE 表达式。
?匹配零个或一个上一个 BRE 表达式。
用于非贪婪匹配。
基础正则与扩展正则的差异
基本正则表达式支持方括号 [] 表达式、子表达式 \( \)、反向引用表达式 \n、区间表达式 \{m,n\}。
扩展正则表达式对这些表达式的支持情况、以及跟基本正则表达式之间的差异说明如下:
- 扩展正则表达式的方括号
[]表达式规则和基本正则表达式相同,包括字符类表达式、范围表达式的用法也相同。 - 扩展正则表达式用两个小括号
( )特殊字符来组合里面的字符,POSIX 标准文档称之为 grouping,不再称之为 subexpression。这个小括号( )组合跟基本正则表达式的\( \)子表达式作用相似,看起来只是写法不同。 - 扩展正则表达式不支持反向引用表达式
\n。 - 扩展正则表达式的区间表达式写法是
{m}、{m,}、或者{m,n}。相比于基本正则表达式的写法,在大括号前面不需要添加 `` 字符,表达式的作用相同
特殊字符总结
基础正则特殊字符

扩展正则特殊字符

