linux 正则表达式

mac2022-06-30  77

标准正则表达式

 

^   匹配行的开始。

$  匹配行的结尾

.  匹配单个字符(除行尾)

[] 匹配字符集

$ echo -e "Call\nTall\nBall" | sed -n '/[CT]all/ p'CallTall[^] 排除字符集

$ echo -e "Call\nTall\nBall" | sed -n '/[^CT]all/ p'Ball[-]字符范围。

$ echo -e "Call\nTall\nBall" | sed -n '/[C-Z]all/ p' 

Call Tall\? ,\+ ,*

分别对应0次到1次,一次到多次,0次到多次匹配。

 

{n} ,{n,} ,{m, n}

精确匹配N次,至少匹配N次,匹配M-N次

 

|  

或操作。

echo -e "str1\nstr2\nstr3\nstr4" | sed -n '/str\(1\|3\)/ p'

str1 str3

POSIX兼容的正则

主要包含

POSIX定义的character class只能在中括号内使用。例如,[[:upper:]ab]匹配大写字母字符和”a”,”b”。

[:word:]是附加的非POSIX的character class,[:word:]表示[:alnum:]和下划线。

 

 

 

元字符

\s    匹配单个空白内容

$ echo -e "Line\t1\nLine2" | sed -n '/Line\s/ p'Line 1\S    匹配单个非空白内容。

 

\w   单个单词、

\W  非单词。

 

参考http://blog.jobbole.com/109088/http://blog.jobbole.com/109088/

https://www.cnblogs.com/lovers/p/POSIXREGEX.html

转载于:https://www.cnblogs.com/fanren224/p/8476728.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)