正则表达式入门经典(学习笔记八)——几个例子及解释汇总

1.不平衡的交替选择

(a|ab)  假设正则表达式引擎在a之前的位置开始匹配,它首先尝试将第一个选项与该行中的第一个字符——也就是a进行匹配。匹配成功。这样正则表达式就不会再尝试匹配第二个选项了。于是,它把当前位置移动到了刚找到的匹配项之后(位于a和b之间)的位置上。然后再重新尝试匹配,但此时不论是用a还是ab来匹配字符b,结果都不会成功。

这样的话可以修改为(ab|a)

2.检测重复的单词

\<([A-Za-z]+)  \1\>   右括号后有个空格

3.插入一个单引号

(Andrew)(s)(?=\b)  找到要插入单引号的位置

4.为大数添加逗号

(?<=\d)(?=(\d\d\d)+\W) 大数后跟逗号等

(?<=\d)(?=(\d\d\d)+\b)  用词边界表示

5.电子邮件地址

^\w*(?<=\w)\.?\w+@(?=[\w\.]+\W)\w+\.\w{3,4}$ 

@之后,空格或者逗号等之前只能有字母或者句点

“向前查找”放在要查找的词之后——“查找到后再向前回到原位置”,.NET中称为“零宽度向前查找断言”

6.发现错误的拼写

探测模式

\b\w+\s+Training  检查Training前面的单词

star\s+T\w+g        筛选出可能拼错的Training

7.IP地址

^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|0-9)\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|0-9)$

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值