正则表达式

正则表达式,可以当作增强版的通配符,帮助匹配指定规则的字符串

正则表达式网站https://regex101.com/

几种常见的正则表达式

限定符

d?: 表示前边字符d出现0次或者1次
a*:表示前边的a可以没有也可以出现多次
c+:表示前边的c可以出现一次或多次
(ab)+:表示前边的ab可以出现一次或多次
ab{6}c:前边的b出现6次
ab{26}c:前边的b出现2-6次
ab{2}c:前边的b出现2次以上
(ab)+:

运算符

a (cat|dog): 匹配字符串"a cat"或者"a dog"

字符类

[abc]+:要求匹配的字符只能取自他们(ab也可以成功匹配)
[a-z]+:所有小写英文字符
[a-zA-Z]+:所有英文字符
[a-zA-Z0-9]+:所有英文字符和数字
[^a-z]+:所有非小写英文字符

元字符

\d:数字字符
\D:非数字字符
\w:单词字符(数字,英文,下划线)
\W:非单词字符
\s:tab和换行
.:不包含换行符的任意字符
^a:匹配行首的a
a$:匹配行尾的a
\b匹配字符边界

例题:匹配16进制色值

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

例题:匹配ipv4地址

\d+\.\d+\.\d+\.\d+(不对 因为ip地址有范围0-255不是全部的数字)

.需要做转义

正确的:

一个:(25[0-5]|2[0-4]\d|[01]?\d\d?)\.
重复三次加上最后一个
((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)
加上通配符\b匹配字符边界
\b((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)\b
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值