作者:窝窝笑丫 | 来源:互联网 | 2023-06-22 09:24
标准的正则表示式格式:常用元字符代码说明.匹配除换行符以外的任意字符\w匹配字母或数字或下划线\s匹配任意的空白符\d匹配数字\b匹配单词的开始或结束^匹配字符串的开始$匹配字符串
标准的正则表示式格式:
常用元字符
代码 | 说明 |
---|
. |
匹配除换行符以外的任意字符 |
\w |
匹配字母或数字或下划线 |
\s |
匹配任意的空白符 |
\d |
匹配数字 |
\b |
匹配单词的开始或结束 |
^ |
匹配字符串的开始 |
$ |
匹配字符串的结束 |
常用限定符
代码/语法 | 说明 |
---|
* |
重复零次或更多次 |
+ |
重复一次或更多次 |
? |
重复零次或一次 |
{n} |
重复n次 |
{n,} |
重复n次或更多次 |
{n,m} |
重复n到m次 |
常用反义词
代码/语法 | 说明 |
---|
\W |
匹配任意不是字母,数字,下划线,汉字的字符 |
\S |
匹配任意不是空白符的字符 |
\D |
匹配任意非数字的字符 |
\B |
匹配不是单词开头或结束的位置 |
[^x] |
匹配除了x以外的任意字符 |
[^aeiou] |
匹配除了aeiou这几个字母以外的任意字符 |
扩展的正则表达式 相对标准的正则表达式 在次数表示的方面只是少了\ 其他都一样
find支持的正则语法有emacs、posix-awk、posix-basic、posix-egrep、posix-extended
他默认使用的是 emacs 风格而非我们常用的 posix-egrep and posix-extended 格式的正则表达式
创建测试环境(模拟生产应用日志)
root@王初一:~# mkdir logs
root@王初一:~# mkdir logs/$(date +%Y){01..12}{01..30}
root@王初一:~# rm -rf logs/201902{29..30}
root@王初一:~# for i in $(ls ~/logs/); do cd logs/$i; echo "$i TIME add logs" > access.log; touch -mt "$i"0302 access.log; cd ../..; done