正则表达式——概念篇

一、在线测试工具

https://regex101.com

二、基本用法

1、限定符:作用于一个字符

?

代表它前面的字符需要出现0次或者1次,即可有可无

如下:表示?前面的字符d可出现0或1次,因此匹配到use、used两个单词

*

代表它前面的字符可以没有也可以出现多次

如下:表示*前面的字符b可出现任意次数,因此匹配到ac、abc、abbbbbbc三个单词

+

匹配出现一次及以上的字符

如下:表示+前面的字符b要出现一次及以上,因此ac不符合要求

{6}

它前面的字符要出现6次

{2,}

它前面的字符要出现2次及以上

{2,6}

它前面的字符出现的次数为1到6之间(包括1到6次)

2、如何作用于多个字符

如下:将ab括起来,表示+前面的字符ab要出现一次及以上

3、“或”运算符

如下:先匹配a ,再匹配cat或dog

如下:如果省略(),表示要么是a cat,要么是dog

4、字符类

如下:匹配由abc这几个字母构成的单词

[a-z]+

表示匹配所有的小写英文字符

[a-zA-Z]+

表示匹配所有的英文字符

[a-zA-Z0-9]+

表示匹配所有的英文字符和数字

[^0-9]+

表示匹配所有的非数字字符(包括换行符)

5、元字符

\d

digit,表示数字字符,等同于[0-9]+

\w

表示英文字符、数字加下划线

\s

表示空白符,同时包含Tab字符及换行符

\D

表示非数字字符

\W

表示非英文字符、非数字、非下划线

\S

表示非空白字符

.*

表示任意字符,但是不包含换行符

^a

只匹配行首的a

a$

只匹配行尾的a

三、高级概念

1、贪婪匹配——>懒惰匹配

如下:贪婪匹配:.匹配任意字符,.+会匹配尽可能多的字符

如下:懒惰匹配:

?确保只匹配尖括号的内容,而不会匹配到尖括号外的其他内容

四、实例

1、IP地址匹配

ipv4的地址由四段数字构成,数字之间由.隔开

如下:\d+匹配任意数字,由于.为元字符代表任意字符,所以用/.转义

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值