linux之正则表达式简介

 

 

正则表达式元字符

^PATTERN  à行首锚定符   例如: #grep  --color=auto ^bbc hyg.txt

PATTERN$  à行尾锚定符   例如:#grep  --color=auto bbc$ hyg.txt

这里行首行尾锚定符还可结合起来 例如:一个网站如果要求用户填写的QQ号码必须是5-12的数字时,可以使用 ^[[:digit:]]{5,12}$

‘\<PATTERN  à词首锚定符  例如:#grep  --color=auto ‘\<bbc’ hyg.txt

PATTERN\>’  à词尾锚定符   例如:#grep  --color=auto ‘bbc\>’ hyg.txt 

\b        à词首词尾锚定符 \B 取反 例如:只搜索cook这个单词可以写为\bcook\b   \b即代表词首也代表词尾 需要更精确的匹配\b这种位置,可以用\w,代表它的前一个字符或者后一个字符不全是\w  例如:你想搜索一个文档中包含oo两个字母的单词时候可以打 \woo\w  这样 不管是book还是cook都会被匹配到  还可组合使用:\b\w{6}\b  匹配刚好6个字符的单词

PATTERN.   à匹配任意单个字符 例如:#grep  --color=auto b.b hyg.txt

PATTERN*  à匹配此前的字符0到任意次  例如:a*b 匹配的是a后面跟着b的单词

PATTERN?  à匹配之前的字符01

.*  à匹配任意长度的任意字符  例如:#grep --color=auto b.*b hyg.txt

PATTERN?  à匹配此前的字符0次或1

PATTERN\{m,n\}’   à匹配此前字符至少m次,至多n 

PATTERN\{5\}’    à精确匹配五次 

PATTERN\{5,\}’   à至少匹配五次  例如:#grep --color=auto ‘b.\{5\}c’ hyg.txt

[ ]  à匹配指定范围内的任意单个字符

[^]  à匹配指定范围外的任意单个字符

\(\)  \1  \2  \3 à字符分组和引用 前后匹配,引用此前出现过的字符

[:lower:]  à小写字母  可以写成:[^[:lower:]]  所有不包含小写字母的单个字符

[:upper:]  à大写字母

[:digit:]    à所有数字

[:alpha:]   à大小写字母都包括

[:alnum:]  à数字字母都包括

[:space:]  à所有空白字符

[:punct:]  à所有标点符号

 

 

扩展正则表达式:应用在#egrep或者#grep -E

\{m,n\}à{m,n}

\(\)à( )

| à或者  例如:a|b  àa或者b  ;ab|cd  àabd或者acd (d|D)og àdog或者Dog

+   à匹配此前字符1次到任意次

你可能感兴趣的:(正则表达式,扩展元字符)