正则表达式的概念
A Regular Expression is the term used to describe a codified method of searching invented, or defined, by the American mathematician Stephen Kleene
文本过滤工具,能够实现根据指定的模式(pattern) 逐行检查文件内容,并将匹配的行显示出来
个人理解就是通过元字符或者其他字符的组合成pattern 在文本中搜索出符合条件的行,打印到屏幕上。
正则表达式的分类
extended regular expressions (EREs)
Basic Regular Expressions
正则表达式的元字符
. :匹配任意单个字符
.*:匹配任意长度任意字符
[]:匹配指定范围内的单个字符
[^]:匹配任意范围外的单个字符
次数匹配
* :匹配其前的字符 0,1,或多次 也就是>=0次
?:匹配其前的字符 0,1次 也就是 >=0 <=1次
\{m,n\}:匹配精确的字符次数
\{m,\}: 至少m次
\{0,n\}:至多n次
\{m\}:精确m次
单词锚定
\<: 锚定词首 \<root
\>: 锚定词尾 root\>
全部:\<root\>
行首锚定:
^: 脱字符
$: 行尾锚定
分组:
\(\) x\(ab\)*y
后项引用:\(l..e\).*\1r
grep '\(1..e\).*\1r' grep.txt
正则表达式的例子
. :匹配任意单个字符
.*:匹配任意长度任意字符
[]:匹配指定范围内的单个字符
[^]:匹配任意范围外的单个字符
* :匹配其前的字符 0,1,或多次 也就是>=0次
?:匹配其前的字符 0,1次 也就是 >=0 <=1次
\{m,n\}:匹配精确的字符次数
\{m,\}: 至少m次
\{0,n\}:至多n次
\{m\}:精确m次
\<: 锚定词首
\>: 锚定词尾
全部:\<root\>
^: 脱字符
$: 行尾锚定
\(\)
后项引用 \1
转载于:https://blog.51cto.com/xiaoxiaoniao/1390389