元字符 | 功能 | 示例 | 匹配对象 |
^ | 行首定位符 | /^love/ | 匹配所有以love开头的行 |
$ | 行尾定位符 | /love$/ | 匹配所有以love结尾的行 |
. | 匹配单个字符 | /l..e/ | 匹配包含一个l,后跟两个字符,再跟一个e的行 |
* | 匹配0或多个重复的位于*号前的字符 | /*love/ | 匹配包含跟在零个或多个空格后的模式love的行 |
[] | 匹配一组字符中的任一个 | /[Ll]ove/ | 匹配包含love或Love的行 |
[x-y] | 匹配指定范围内的一个字符 | /[A-Z]ove/ | 匹配后面跟着ove的一个A至Z之间的任意一个字符 |
[^] | 匹配不在指定组内的字符 | /[^A-Z]/ | 匹配不在范围A至Z之间的任意一个字符 |
\ | 用来转义元字符 | /love\./ | 匹配包含love,后面跟一个句号。(未经转义的)句点通常匹配单个任意字符 |
许多使用RE元字符的UNIX/Linux程序都支持下面附加的元字符 | |||
\< | 词首定位符 | /\<love/ | 匹配包含以love开头的词的行(vi和grep支持) |
\> | 词尾定位符 | /love\>/ | 匹配包含以love结尾的词的行(vi和grep支持) |
\(..\) | 匹配稍后将要使用的字符的标签 | /\(love\)able \1er/ | 最多可以使用9个标签,模式中最左边的标签是第一个。例如,模式love被保存为标签1用\1表示。左边这个例子中,查找串是一个loveable后跟lover的长串(sed、vi和grep支持) |
x\{m\}或x\{m,\}或x\{m,n\} | 字符x的重复出现:m次、至少m次、至少m次且不超过n次。 | o\{5,10\} | 匹配包含5-10个连续的字母o的行(vi和grep支持) |
Shell学习总结-正则表达式与模式匹配
最新推荐文章于 2025-01-16 20:23:48 发布