正则表达式/简单正则表达式
外观
< 正则表达式
简单正则表达式 语法在基于 Unix 的系统中广泛使用,用于向后兼容的目的。大多数支持正则表达式的 Unix 实用程序,如 grep 和 sed,默认使用它,同时提供对扩展正则表达式的支持(使用命令行参数,见下文)。这种语法在 POSIX 兼容系统中已过时,新实用程序不应使用它。
使用简单正则表达式语法时,大多数字符(元字符除外)都被视为字面字符,只匹配自身(例如,“a” 匹配 “a”,“(bc” 匹配 “(bc” 等)。
运算符 | 效果 |
---|---|
. | 点运算符匹配任何单个字符。 |
[ ] | 方括号允许将单个字符与字符列表或字符范围进行匹配。 |
[^ ] | 补码方括号允许匹配不在字符列表或字符范围内的单个字符。 |
^ | 脱字符(^)锚匹配行的开头(或在多行模式下匹配任何行) |
$ | 美元符($)锚匹配行的结尾(或在多行模式下匹配任何行) |
( ) | 圆括号用于定义标记的子表达式。匹配的文本部分可以在以后调用。 |
\n | 其中 n 是 1 到 9 之间的数字;匹配第 n 个标记的子表达式匹配的内容。这种不规则的结构在扩展正则表达式语法中没有被采用。 |
* | 单个字符表达式后跟 "*" 匹配该表达式的零个或多个副本。例如,“ab*c” 匹配 “ac”,“abc”,“abbbc” 等。“[xyz]*” 匹配 “”,“x”,“y”,“zx”,“zyx” 等等。
|
示例
- "^[hc]at"
- 匹配 hat 和 cat,但只匹配行的开头。
- "[hc]at$"
- 匹配 hat 和 cat,但只匹配行的结尾。
使用这种正则表达式语法的工具和语言包括