扩展正则表达式


1. 扩展正则表达式

扩展正则表达式 ERE Extended Regular Expressions 比基本正则表达式BRE 拥有更强大的功能。

2. ERE字符

egrep表示使用扩展正则表达式,

可以用 grep -E 代替

+  重复前面字符一次或多次
  要匹配 god , good,  goood 使用:
  grep -E 'go+d' test
? 重复前面字符0次或一次
  匹配gd 或 god, 使用
  grep -E 'go?d' test
|  表示 或
  匹配good或bad,使用
  grep -E 'good|bad' test
() 分组
  要查找glad 或good, g和d相同,把la 和oo分组:
  grep -E 'g(la|oo)d' test
()+ 多个重复组的判断
  匹配 AabcabcabcC 中间abc为多组
  grep -E 'A(abc)+C' test

3. 简写

简写的特殊字符

Character Class Abbreviations
\d Match any character in the range 0 - 9 (equivalent of POSIX [:digit:])
\D Match any character NOT in the range 0 - 9 (equivalent of POSIX [^[:digit:]])
\s Match any whitespace characters (space, tab etc.). (equivalent of POSIX [:space:] EXCEPT VT is not recognized)
\S Match any character NOT whitespace (space, tab). (equivalent of POSIX [^[:space:]])
\w Match any character in the range 0 - 9, A - Z and a - z (equivalent of POSIX [:alnum:])
\W Match any character NOT the range 0 - 9, A - Z and a - z (equivalent of POSIX [^[:alnum:]])
Positional Abbreviations
\b Word boundary. Match any character(s) at the beginning (\bxx) and/or end (xx\b) of a word, thus \bton\b will find ton but not tons, but \bton will find tons.
\B Not word boundary. Match any character(s) NOT at the beginning(\Bxx) and/or end (xx\B) of a word, thus \Bton\B will find wantons but not tons, but ton\B will find both wantons and tons.

Linux正则表达式特性及BRE与ERE的区别

grep使用简明及正则表达式

正则表达式的用法

正则表达式之零宽断言

Linux中正则表达式与文件格式化处理命令(awk/grep/sed)

基础正则表达式

本文永久更新链接地址:

相关内容