快速入门(正则表达式)+

学习视频

  1. 【10分钟快速掌握正则表达式】B站

学习工具

  1. 正则表达式在线测试工具

10分钟快速掌握正则表达式

限定符

限定符含义案例案例结果
前面一个字符出现 0\1 次,
即可有可无
used?1. use
2. used
*前面一个字符 n (n ≥ 0) 次ab*c1. ac
2. abc
3. abb… c
+前面一个字符 n (n ≥ 1) 次 nab+c1. abc
2. abb… c
{}前面一个字符出现的次数范围或指定次数1. b{2}
2. b{2,}
3. b{2,6}
1. bb
2. bb…
3. 2 至 6 个 b

分组:(多个字符)+限定符

  • 多字符匹配
  • 例 :(ab)+ 结果:ababab…

或运算符

OR Operator

实例实例结果
a (cat|dog)1. a cat
2. a dog

字符类

语法 1:[字符范围]+

解释:由‘字符范围’内的字符组成的字符串

实例实例结果
[abc]+由 a、b、c 组成的字符串
[a-z]+由 a 至 z 组成的字符串
[a-zA-Z0-9]由英文字母和数字组成的字符串

语法 2:[^字符范围]+

解释:由除‘字符范围内’的字符组成的字符串 (包含换行符)

实例实例结果
[^0-9]+由除数字外组成的字符串

元字符

元字符解释备注
\d数字字符\d+ 等于 [0-9]+
\w单词字符(英文、数字及下划线)
\s空白符(包含 Tab 和换行符)
\D非数字字符
\W非单词字符
\S非空白字符
.任意字符(不包含换行符)
^匹配行首^a 匹配行首的 a
$匹配行位

贪婪与懒惰匹配

前面提到的限定符 * + {} 在匹配字符串时,默认会匹配尽可能多的字符。

例如:<span><b>This is a example</b></span>

<.+> 会匹配全部,即贪婪匹配

<.+?> 会匹配 <span> <b> </b> </span>,即懒惰匹配

案例 1 - RGB

TEST STRING:

#00
#ffffff
#ffaaff
#00hh00
#aabbcc
#000000
#ffffffff

REGULAR EXPRESSION: #[a-fA-F0-9]{6}\b

  • 最后在末尾加入 \b 来代表单词字符的边界
#ffffff
#ffaaff
#aabbcc
#000000

案例 2 - IPv4

TEST STRING:

123
255.255.255.0
192.168.0.1
0.0.0.0
256.1.1.1
This is a string.
123.123.0

REGULAR EXPRESSION: \d+\.\d+\.\d+\.\d+

255.255.255.0
192.168.0.1
0.0.0.0
256.1.1.1
  • 256 超出范围

REGULAR EXPRESSION: \b((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)\b

255.255.255.0
192.168.0.1
0.0.0.0
  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值