再探正则表达式与通配

来源:互联网 发布:define在c语言中的意思 编辑:程序博客网 时间:2024/05/29 19:57

正则表达式基础




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. ^   表示取反

3. *   表示所有可能  *.txt 通配所有以txt结尾的文件

4.  [ ] 与正则表达式用法相同

5. { } 通配大括号里面一组表达式的集合 {*.txt , *.doc } 通配所有以txt 或 doc 结尾的文件





0 0
原创粉丝点击