正则表达式基础
1. ‘ * ’ 符号
匹配前面一个普通字符的0次或多次
例:
hel*o,*前面的元素是l,*字符表示匹配l字符的0次或多次,如字符串helo、hello、hellllllllo都可以表示。
2. ‘ . ’ 符号
匹配任意一个字符,包括空格
例:
..123 ,前面2个字符为任意字符,后三个字符为123。 ab123 、a 123都可以匹配。
3.‘ ^ ’ 符号
匹配行首,表示行首字符为^后面的字符
例:
^hello,表示匹配以hello开头的行
4.‘ $ ’ 符号
匹配行尾,与^相反
例:
hello$,表示匹配以hello结尾的行
^$ 匹配空行
^.$ 匹配一个字符的行
5.[ ] 符号
匹配字符集合
例:
[0-9] 匹配任意一个数字
当 [ ] 里面有 ^符号时表示里面集合的补集
例:
[^b-d ] 匹配不在b-d范围内的所有字符
[A-Za-z] [A-Za-z]* 匹配所有的英文单词
6 ‘ \ ’
转义字符
7 \<\>
精确匹配
例:
\<the\> 精确匹配 the ,而不匹配包含the的单词 比如them
8 \ { \ }
\ { n \ } 匹配前面的字符出现n次
\ { n,\ } 匹配前面的字符出现至少n次
\ { n,m \ } 匹配前面的字符出现n-m次
正则表达式的拓展
1. ‘ ?’ 符号
匹配前面的字符0次或1次
2. ‘ + ’ 符号
匹配前面的字符至少一次
3.( ) 与 | 符号
表示一组可选的字符的集合
例:
re(a|o|e)d 匹配read reod reed 等价于 re[aoe]d
| 符号表示多个正则表达式的 ‘或’ re1 | re2 | re3
通配
1. ? 表示任意一个字符
2. ^ 表示取反
4. [ ] 与正则表达式用法相同