正则表达式

来源:互联网 发布:网络团购的流程 编辑:程序博客网 时间:2024/06/03 17:18

常用的特殊字符:

Tables Are ^ 指向一行的开头 $ 指向一行的结尾 . 任意单个字符 [] 括号内表示一个字符范围,其中任何一个字符被匹配

如果想将上述字符用作普通字符,就需要在它们前面加上\字符。
Ex:

\$

方括号中还可以使用一些有用的特殊匹配模式

Tables Are [:alnum:] 字母与数字字符 [:alpha:] 字母 [:ascii:] ASCII字符 [:blank:] 空格或制表符 [:cntrl:] ASCII控制字符 [:digit:] 数字 [:graph:] 非控制、非空格字符 [:lower:] 小写字母 [:print:] 可打印字符 [:punct:] 标点符号字符 [:space:] 空白字符,包括垂直制表符 [:upper:] 大写字母 [:xdigit:] 十六进制数字

如果指定了用于扩展匹配的 -E 选项,那些用于控制匹配完成的其他字符可能会遵循正则表达式的规则。对于grep命令来说,我们还需要在这些字符之前加上\字符。

Tables Are ? 匹配是可选的,但最多匹配一次 * 必须匹配0次或多次 + 必须匹配1次或多次 {n} 必须匹配n次 {n,} 必须匹配n次或n次以上 {n,m} 匹配次数在n到m之间,包括n和m

以shell中grep为例:

Ex1:查找以字母e结尾的行

grep e$ file.txt

Ex2:查找以字母a结尾的单词

grep a[[:blank:]] file.txt

Ex3:查找以Th开头的由3个字母组成的单词

grep Th.[[:space:]] file.txt

Ex4:用扩展grep模式来搜索只有10个字符长的全部由小写字母组成的单词。

grep -E [a-z]\{10\} file.txt
原创粉丝点击