标准的正则表示式格式:
| 代码 | 说明 |
|---|---|
| . | 匹配除换行符以外的任意字符 |
| \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
原文:https://www.cnblogs.com/chuyiwang/p/12779417.html