linux 中正则 表达式
001、位置锚定(开头或者结尾):
^: 表示锚定开头
$:表示锚定结尾
\<:表示匹配单词的开端
\>:表示匹配单词的结尾
\<word\>:表示匹配完整的单词
002、匹配次数1
.: 当个.表示匹配任意字符1次
?: 表示匹配前一个字符0次或者1次
+:表示匹配前一个字符一次或者多次
*:表示匹配前一个字符0次或者任意次
.*:表示匹配任意字符任意次数。
\{m\}:表示匹配前面的字符m次
\{m,n\}:表示匹配前面的字符至少m次,至多n次
\{m,\}:表示匹配前面的字符至少m次,多则不限
\{,m\}:匹配至多m次
003、分组
\(xxx\)\(yyy\): 表示两个分组xxx和yyy
\2:表示第二个分组
004、特殊符号
[xyz]:表示匹配[]中的任意字符
[^xyz]:表示取反
[0-9]:表示匹配数值
[a-z]:表示匹配小写字母
[:lower:]:表示匹配小写字母
[A-Z]:表示匹配大写字母
[:upper:]:表示匹配大写字母
[a-Z]:表示匹配所有的字母
[0-Z]:表示匹配数字和字母
[0-9a-zA-Z]:表示匹配所有数字和字母
[:num:]:表示匹配数值
[:alpha:]:表示匹配字母
[:digit:]:表示匹配所有的数字
[:punct:]:表示匹配标点符号
[:blank:]:表示匹配空白字符
[:space:]:表示匹配空白字符
005、特殊符号
|:表示或者
\:表示转义
实例: 正则表达式匹配IP:
ifconfig | grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}' : ##[0-9]中的任意数字至少1次, 至多3次;?
参考:
01、https://www.cnblogs.com/reachos/p/16808669.html
02、https://www.cnblogs.com/xiejunjie8888/p/15713396.html