linux shell 正则表达式(BREs,EREs,PREs)差异比较(2)

\>

  匹配单词,例如:'frog\>'(等价于'frog\b '),匹配以 frog 结尾的单词   \>   \>   不支持   不支持(但可以使用\b来匹配单词,例如:'frog\b')  

\<x\>

  匹配一个单词或者一个特定字符,例如:'\<frog\>'(等价于'\bfrog\b')、'\<G\>'   \<x\>   \<x\>   不支持   不支持(但可以使用\b来匹配单词,例如:'\bfrog\b'  

()

  匹配表达式,例如:不支持'(frog)'   不支持(但可以使用\(\),如:\(dog\)   ()   ()   ()  

\(\)

  匹配表达式,例如:不支持'(frog)'   \(\)   不支持(同())   不支持(同())   不支持(同())  

  匹配前面的子表达式 0 次或 1 次(等价于{0,1}),例如:where(is)?能匹配"where" 以及"whereis"   不支持(同\?)        
\?   匹配前面的子表达式 0 次或 1 次(等价于'\{0,1\}'),例如:'where\(is\)\? '能匹配 "where"以及"whereis"   \?   不支持(同?)   不支持(同?)   不支持(同?)  
?   当该字符紧跟在任何一个其他限制符(*, +, ?, {n},{n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串 "oooo",'o+?' 将匹配单个"o",而 'o+' 将匹配所有 'o'   不支持   不支持   不支持   不支持  
.   匹配除换行符('\n')之外的任意单个字符(注意:awk 指令中的句点能匹配换行符)   .   .(如果要匹配包括“\n”在内的任何一个字符,请使用:'(^$)|(.)   .   .(如果要匹配包括“\n”在内的任何一个字符,请使用:' [.\n] '  
*   匹配前面的子表达式 0 次或多次(等价于{0, }),例如:zo* 能匹配 "z"以及 "zoo"   *   *   *   *  
\+   匹配前面的子表达式 1 次或多次(等价于'\{1, \}'),例如:'where\(is\)\+ '能匹配 "whereis"以及"whereisis"   \+   不支持(同+)   不支持(同+)   不支持(同+)  
+   匹配前面的子表达式 1 次或多次(等价于{1, }),例如:zo+能匹配 "zo"以及 "zoo",但不能匹配 "z"   不支持(同\+)   +   +   +  

{n}

  n 必须是一个 0 或者正整数,匹配子表达式 n 次,例如:zo{2}能匹配   不支持(同\{n\})   {n}   {n}   {n}  
{n,}   "zooz",但不能匹配 "Bob"n 必须是一个 0 或者正整数,匹配子表达式大于等于 n次,例如:go{2,}   不支持(同\{n,\})   {n,}   {n,}   {n,}  
{n,m}   能匹配 "good",但不能匹配 godm 和 n 均为非负整数,其中 n <= m,最少匹配 n 次且最多匹配 m 次 ,例如:o{1,3}将配"fooooood" 中的前三个 o(请注意在逗号和两个数之间不能有空格)   不支持(同\{n,m\})   {n,m}   {n,m}   {n,m}  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wfyypy.html