正则表达式的使用

正则表达式的使用

一、正则表达式的定义

目的:为了查找符合某些复杂规则的字符串
定义:正则表达式就是用来描述一些复杂规则的工具,即用来记录文本规则的代码。

二、单个字符的匹配(元字符)

1.匹配开始或者结束
⑴ \b :匹配单词的开始或结束;
⑵ ^ :匹配字符串的开始;
⑶ $ :匹配字符串的结束;
2.匹配字符
⑴ • :匹配除换行符以外的任意字符;
⑵ \w :匹配数字、字母、下划线、汉字;
⑶ \s :匹配任意的空白字符;
⑷ \d :匹配数字;
3.字符类 [] :实现在一个范围内匹配某一个字符
⑴罗列字符:在[]中罗列需要匹配的字符即可;
⑵匹配特殊字符:不需要使用转移字符转义,直接将要匹配的特殊字符放在[]内即可;
⑶指定范围:[]中存放一个范围,匹配范围内的任意字符;
4.反义字符
⑴大写字母表示的反义:与对应的小写字母含义相反
①\W :匹配任意不是数字、字母、下划线、汉字的字符;
②\S :匹配任意不是空白符的字符;
③\D :匹配非数字的字符;
④\B :匹配不是单词开头或结束的位置;
⑵[^ ]表示反义:匹配除了括号内^后面的字符

三、多个字符的匹配–限定符:限定重复次数

    • :重复零次或更多次;
    • :重复一次或更多次;
  1. ? :重复零次或一次;
    4.{n}:重复n次
    5.{n,}:重复n次或更多次;
    6.{n,m}:重复n到m次;

四、转义字符 \

如果要查找元字符本身,用字符\来取消掉元字符所代表的特殊含义,使它只表示本身的意义。
例如:.是一个元字符,表示匹配除换行符以外的任意字符

若要匹配字符串中的“.”,则要使用转义字符

五、替换

1.定义:用|把不同的规则分隔开,只需要满足其中任意一种规则就可以被匹配。
例如:匹配两种以连字号分隔的电话号码,一种格式是:010-12345678(3位-8位),另一种是0357-1234567(4位-7位),两种电话都以0开头
表达式:0\d{2}-\d{8}|0\d{3}-\d{7}

2.顺序:匹配替换时,将会从左到右的测试每个分支条件,如果条件满足了某个分支的话,就不会去管其他的替换条件了。就是说,虽然匹配条件有多个,但是只会匹配到符合一个条件的一个结果
例如:将上面案例替换顺序颠倒一下,则匹配结果就会不同

六、重复 ()

想要重复使用一个字符串,可以用()来对该字符串进行分组,然后制定该分组的重复次数,也可以对分组进行其他的操作。
例如:匹配IP地址格式类似于192.168.0.110
表达式:(\d{3}.){2}0.\d{3}
小括号内\d表示匹配数字,{3}表示数字重复次数是3,即匹配的数字是三位数,\是转义符,把.的特殊含义取消,只单纯匹配一个.,{2}表示小括号指定的分组重复次数为两次

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值