这个分组匹配一个长度为1-2的数字 /--匹配普通的/字符 (?\d{2

时间:2022-01-18 08:16:51

为了制止以后这样的情况,在此记录下正则表达式的一些根基使用要领附带小的实例。让以后在使用时能一目了然知道他的使用,为开发节约时间,同时也分享给大家

正则元字符

  在说正则表达式之前我们先来看看通配符,我想通配符大家都用过。通配符主要有星号(*)和问号(?),用来模糊搜索文件。winodws中我们常会使用搜索来查找一些文件。如:*.jpg,XXX.docx的方法,来快速查找文件。其实正则表达式和我们通配符很相似也是通过特定的字符匹配我们所要盘问的内容信息。已下代码都是区分巨细写。

常用元字符

代码   说明  
.                        匹配除换行符以外的任意字符。  
\w   匹配字母或数字或下划线或汉字。  
\s    匹配任意的空白符。  
\d   匹配数字。  
\b   匹配单词的开始或结束。  
[ck]   匹配包罗括号内元素的字符  
^   匹配行的开始。  
  匹配行的结束。  
\   对下一个字符转义。好比$是个特殊的字符。要匹配$的话就得用\$  
|   分支条件,如:x|y匹配 x 或 y。  

反义元字符

代码   说明  
\W                匹配任意不是字母,数字,下划线,汉字的字符。  
\S   匹配任意不是空白符的字符。等价于 [^ \f\n\r\t\v]。  
\D   匹配任意非数字的字符。等价于 [^0-9]。  
\B   匹配不是单词开头或结束的位置。  
[^CK]    匹配除了CK以外的任意字符。  

特殊元字符

代码   说明  
\f               匹配一个换页符。等价于 \x0c 和 \cL。  
\n   匹配一个换行符。等价于 \x0a 和 \cJ。  
\r   匹配一个回车符。等价于 \x0d 和 \cM。  
\t   匹配一个制表符。等价于 \x09 和 \cI。  
\v   匹配一个垂直制表符。等价于 \x0b 和 \cK。  

限定符

代码   说明  
*                         匹配前面的子表达式零次或多次。  
+   匹配前面的子表达式一次或多次。  
?   匹配前面的子表达式零次或一次。  
{n}   n 是一个非负整数。匹配确定的 n 次。  
{n,}   n 是一个非负整数。至少匹配n 次。  
{n,m}   m 和 n 均为非负整数,此中n <= m。最少匹配 n 次且最多匹配 m 次。  

懒惰限定符

代码   说明  
*?                                                   

反复任意次,但尽可能少反复。

如 "acbacb"  正则  "a.*?b" 只会取到第一个"acb" 原本可以全部取到但加了限定符后,只会匹配尽可能少的字符 ,而"acbacb"最少字符的功效就是"acb" 。

 
+?   反复1次或更多次,但尽可能少反复。与上面一样,只是至少要反复1次。  
??  

反复0次或1次,但尽可能少反复。

如 "aaacb" 正则 "a.??b" 只会取到最后的三个字符"acb"。

 
{n,m}?  

反复n到m次,但尽可能少反复。

如 "aaaaaaaa"  正则 "a{0,m}" 因为最少是0次所以取到功效为空。

 
{n,}?  

反复n次以上,但尽可能少反复。

如 "aaaaaaa"  正则 "a{1,}" 最少是1次所以取到功效为 "a"。