mw91816

天行健,君子以自强不息

导航

正则表达式---元字符

正则表达式思维: 以单个字符的视角去考虑,而不是用单词或句子的视去考虑.

   --> 比如 cater,是首先以c开头,c后面接着字符a,a后面接着t,t后面接着e,最后以字符r结尾. 而不是单词cater.

 

思路:  字符出现的位置  --> 到底是哪个字符  -->  字符出现的次数  -->其他

 

匹配 单个字符 的元字符
元字符 解释
.
点号 匹配  单个任意字符
[...] 字符组 匹配  单个列出的字符
[^...] 排除型字符组 匹配  单个列出的字符
\char 转义字符 若char 是元字符 或 转义序列无 特殊含义时, 匹配char对应的普通字符

 

 

 

 

 

 

 

 

匹配 位置 的元字符
元字符
解释
^ 脱字符 匹配  一行的开头位置,  返回行
$ 美元符 匹配  一行的结束位置,  返回行
\< 单词分界符 匹配  单词的开始位置,  单词由数字和字母组成  返回单词
\> 单词分界符 匹配  单词的结束位置,单词由数字和字母组成  返回单词

 

 

 

 

 

 

 

 

提供 计数功能 的元字符 
元字符 解释
问号 量词 容许匹配一次, 但非必须  (0 或 1)次,即可选项
* 星号 可以匹配任意多次,也可以不匹配  [o,+∞)次
+ 加号 至少匹配一次,至多可能任意次 [1,+)次
{min, max} 区间量词 至少min次,至多max次  [min, max]次

 

 

 

 

 

 

 

 

计数功能的元字符使用时放在字符或字符集的后面. 下面例子中, char表示单个字符,charset表示字符集合:

 char?  charset         char* charset*          char+  charset+          char{min,max}  charset{min,max}

 

其他元字符
元字符 解释
 子表达式|子表达式  alterbnation  匹配 任意分隔的的表达式, 与( )组配合使用: (子表达式|子表达式)
 (...)  括号  a.限定多选结构的范围  b.标注量词作用的元素  c.为反向引用“捕获”文本
\1, \2, ...   反向引用  匹配之前的第一,第二组括号内的字表达式匹配的文本
  -  连字符  表示一个范围,与字符组/排除型字符组配合使用[...-...]     [^...-...]

 

 

 

 

 

 

 

 

子表达式: 指的是整个正则表达式中的一部分,通常是 括号内的表达式 ,或者是 由 | 分隔的多选分支

 

posted on 2018-12-21 23:51  mw91816  阅读(115)  评论(0编辑  收藏  举报