一、正则表达式的类型
-
在Linux中,有两种流行的正则表达式引擎:
-
POSIX基础正则表达式(basic regular expression,BRE)引擎
-
POSIX扩展正则表达式(extended regular expression,ERE)引擎
-
POSIX BRE引擎通常出现在依赖正则表达式进行文本过滤的编程语言中。它为常见模式提供了高级模式符号和特殊符号,比如匹配数字、单词以及按字母排序的字符。gawk程序用ERE引擎来处理它的正则表达式模式。
-
sed编辑器只符合了BRE引擎规范的子集。这是出于速度方面的考虑导致的。
二、特殊字符
-
正则表达式识别的特殊字符包括:(不能在文本模式中单独使用这些字符)
2. 如果要用某个特殊字符作为文本字符,就必须转义。在转义特殊字符时,你需要在它前面加 一个特殊字符来告诉正则表达式引擎应该将接下来的字符当作普通的文本字符。这个特殊字符就 是反斜线(\)。
三、锚字符(^与$)
-
锁定在行首
-
脱字符(^)定义从数据流中文本行的行首开始的模式。如果模式出现在行首之外的位置, 正则表达式模式则无法匹配。