内容详情 您现在的位置是: 首页> 其他随笔

正则表达式常用通配符(学习记录)

发布时间:2022-04-09 18:52 已围观:2275

摘要正则表达式常用通配符(学习记录)

常用通配符

1.b (元字符)表示单词的边界

单词的开头或结尾,也就是单词的分界处,通常是空格/标点符号/换行,但是b不匹配这些分割字符中的任何一个,只是匹配一个位置

例如:bhib 只是匹配hi这个单词,不会匹配 history中的"hi"

 

2. .(点)匹配除了换行符以外的任意字符

 

3. *(星号)匹配的是数量,指前面的内容可以连续重复使用任意次来使整个表达式得到匹配

(.*)表示任意数量的不包含换行的字符

例子:

bhib.*bLucyb

上面表示hi后面有人一个除换行之外的其他字符,后面接着一个Lucy

 

4. d 匹配一个数字

d{2}表示连续匹配两次数字,等同于 dd,d{5,12}匹配5到12位数字

 

5. s 匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等

6. w 匹配字母或者数字或者下划线或者汉字

7. + 匹配1个或者更多连续的数字

8. ^匹配字符串的开始

9. $ 匹配字符串的结束

^d{5,12}$表示匹配5-12位数字

 

字符转义

如果想匹配字符串中的(.*)等字符,需要用.,或者(*)来实现,如果想匹配字符串中的,则需要用\实现

例子:acfun.cn匹配字符串

C:windows需要用正则表达式C:\windows来匹配

 

重复

  • * 重复0次或者多次
  • + 重复1次或者多次
  • ?重复0次或者1次
  • {n} 重复n次
  • {n,}重复n次或者更多次
  • {n,m} 重复n到m次

 

字符类

[aeiou]匹配任何一个英文元音字母

[.?!]匹配三个标点符号的任何一种

[a-z0-9A-Z]匹配数字或字母(不区分大小写)

 

分支条件

0d{2}-d{8}|0d{3}-d{7} 匹配三位区号-8位电话号码的或者是四位区号-7位电话号码

(0d{2})[- ]?d{8}|0d{2}[- ]?d{8}匹配三位区号用括号括起来或者有空格或者-也可以没有连接8位电话号码,后面是没有括号

d{5}-d{4}|d{5} 表示匹配5用-链接的9位的邮政编码或者五位的邮政编码

注意:不能写成d{5}|d{5}-d{4}这样只能匹配到5位的或者9位的前五位

不能匹配到完整的9位

原因:匹配分枝条件时,将会从左到右地测试每个条件,如果满足了某个分枝的话,就不会去再管其它的条件了

 

分组

((2[0-4]d|25[0-5]|[01]?dd?).){3}(2[0-4]d|25[0-5]|[01]?dd?)。

匹配IP地址的正则表达式

大写字母实现反义

W 匹配任意不是字母,数字,下划线或者汉字的字符

S 匹配任意不是空白符的字符

D 匹配任意非数字的字符

B 匹配不是单词开头或者结尾的位置

[^x] 匹配除了x以外的任意字符

[^aeiou] 匹配除了aeiou这几个字母以外的任意字符

<a[^>]+>匹配用尖括号括起来的以a开头的字符串

 

 

初写 如果大家发现内容有错误的地方可联系我及时改正 麻烦啦!

 

易,~

 

点个赞关个注再走呗~

 

作者:黎哈哈

 

声明:本文内容摘自网络,版权归原作者所有。如有侵权,请联系处理,谢谢~
转发:黎三岁--https://www.cnblogs.com/lmbl/p/15723698.html

赞一个 (378)