您的位置:首页 > 其它

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

2011-07-29 11:07 393 查看
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)$
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: