基础正则表达式字符汇整:
RE字符 | 意义与范例 |
^word | 意义:待搜寻的字符串在行首 范例:搜寻行首为#开始的那一行,并列出行号 grep -n '^#' text.txt |
word$ | 意义:待搜寻的字符串在行尾 范例:将行尾为!的那一行打印出来,并列出行号 grep -n '!$' text.txt |
· | 意义:代表【一定有一个任一字符】的字符 范例:两个字符中间一定 仅有一个字符,空格也算。 grep -n 'e.e' text.txt |
\ | 意义:跳脱字符,将特殊符号的特殊意义去除 范例:搜寻含有单引号 ' 的一行 grep -n \' text.txt |
* | 意义:重复零个到无穷多个的前一个RE字符 范例:找出含有(es)(ess)等等的字符串,因为*可以是0个,所以es也是符合的,因为 * 为重复【前一个RE字符】的符号,所以在 * 前必须紧接着一个RE字符。例如任意字符则为【 .* 】 grep -n 'ess*' text.txt |
[list] | 意义:字符集合的RE字符,里面列出想要截取的字符 范例:grep -n 'g[ld]' text.txt |
[n1-n2] | 意义:字符集合的RE字符,里面列出想要截取的字符范围 范例:grep -n '[A-Z]' text.txt |
[^list] | 意义:字符集合的RE字符,里面李处不要的字符串或范围 范例:搜寻的字符串可以是(oog)(ood),但不能是(oot),这个 ^ 在 [] 内时,代表的意义是【反向选择】 grep -n 'oo[^t]' text.txt |
\{n,m\} | 意义:连续n到m个的【前一个RE字符】 若是\{n\}则是连续 n个的前一个RE字符 若是\{n,\} 这是连续n个以上的前一个RE字符 范例:grep -n 'go\{2,3\}' text.txt |