1、有多少个匹配
(1)匹配一个或多个字符
在给定字符(或字符集合)后面加上一个
+字符作为后缀,即可以匹配一个或多个字符(至少一个,不匹配零个字符)。
当‘+’‘.’在字符集合里使用,可以不转义,在普通字符中必须转义
tips:
在给一个字符集合加上+后缀的时候,必须把+放在字符集合的后面,比方说[0-9]+是正确的
,[0-9+]则不是。
但是实际上
[0-9+]也是一个合法的正则表达式,但他匹配的不是一个或者多个数字。他
定义了一个由数字0-9和+构成的字符集合,因此只能匹配单个数字或加号。
(2)匹配零个或多个字符
在给定字符(或字符集合)后面加上一个
*字符作为后缀,即可以
匹配零个或多个字符
(3)匹配零个或一个字符
在给定字符(或字符集合)后面加上一个
?字符作为后缀,即可以
匹配零个或一个字符
ex:
如何表示:http://,https://
regex:
https?:// 或者 http[s]?://
tips:
?等价于{0,1}
+等价于{1,}
2、匹配的重复次数
使用{和}字符来给出需要匹配的重复次数——把数值写在{}之间
{}也是元字符,需要转义
(1)为重复匹配次数设定一个精确的值:ex:{3} 重复3次
(2)为重复匹配次数设定一个区间:ex:{2,4} 最少2次,最多4次
(3)匹配至少重复多少次:ex:{3, } 最少重复3次
3、防止过度匹配
在 *, +, {n,},后加上?,就可以变成最少匹配。
先来盘鲜果--上案例:如何构造一个电子邮件的正则表达式?
text@text.text
开始你可能会写成这样:
\w@\w\.\w
这种写法没有任何实际的用处,因为它只能匹配a@b.c形式的电子邮件。只有单个字符嘛。
于是我们改成这样
\w+@\w+\.\w+
Send personal email to ben@forta.com or
ben.forta@forta.com. For questions about a
book use support@forta.com. If your message
is urgent try ben@urgent.forta.com. Feel
free to send unsolicited email to
spam@forta.com (wouldn't it be nice if it
were that simple,huh?).
匹配结果:
.的部分我们没有匹配起来,所以改成
[\w.]+@[\w.]+\.\w+
结果
tips:
[\w.]在集合中.不需要转义他的写法与
[\w\.]是一样的。
分享到:
相关推荐
这是编译原理的一个实验, 是把一个正则表达式转化为不确定有穷自动机NFA的算法程序,朋兴趣的朋友可以下载来看看哦.<br> 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式...
索引<br/><br/>1._引子<br/>2._正则表达式的历史<br/>3._正则表达式...全部符号解释<br/>6._部分例子<br/>7._正则表达式匹配规则<br/><br/>7.1_基本模式匹配<br/>7.2_字符簇<br/>7.3_确定重复出现<br/><br/>8._参考文献
前言<br><br>正则表达式是烦琐的,...全部符号解释<br>6._部分例子<br>7._正则表达式匹配规则<br><br>7.1_基本模式匹配<br>7.2_字符簇<br>7.3_确定重复出现<br><br>8._参考文献 <br><br> <br><br>上一页 下一页 <br>
<p><a href="mk:@MSITStore:C:Documents%20and%20Settingschenxh桌面dsfCHM.chm::/9.htm#7.1_基本模式匹配"><font size="2">7.1_基本模式匹配</font></a><font size="2"><br /><a href="mk:@MSITStore:C:Documents%...
使用正则表达式检测字符串中重复出现的词,程序完全可以运行,大家可以参考
匹配3个连续的相同字符的正则表达式写法。和验证是否是连续数字或字母的js写法。
正则表达式语法(01): 关于大小写与中文 正则表达式语法(02): 或者与重复 正则表达式语法(03): 匹配范围 正则表达式语法(04): 常用转义字符与 . 正则表达式语法(05): 边界 正则表达式语法(06): 贪婪匹配与非贪婪匹配 ...
正则表达式自动生成器是一个智能、易用的正则表达式生成、测试以及字符串提取工具。正则表达式库让你可以直接借用正则表达式,而无需自己费脑筋。“正则表达式自动生成器”可以自动生成正则表达式,测试正则表达式,...
三、 正则表达式到底是什么东西? 3 四、 入门 4 五、 测试正则表达式 6 六、 元字符 7 七、 字符转义 9 八、 重复 9 九、 字符类 9 十、 分枝条件 10 十一、 分组 11 十二、 反义 12 十三、 后向引用 12 十四、 零...
使用正则表达式匹配文本... 38 向更实用的程序前进... 40 成功匹配的副作用... 40 错综复杂的正则表达式... 43 暂停片刻... 49 使用正则表达式修改文本... 50 例子:公函生成程序... 50 举例:修整股票价格....
正则表达式学习基础篇正则表达式语法(01): 关于大小写与中文 正则表达式语法(02): 或者与重复 正则表达式语法(03): 匹配范围 正则表达式语法(04): 常用转义字符与 . 正则表达式语法(05): 边界 正则表达式语法(06): ...
上面的Pattern对象可以重复使用多次,如果某个正则表达式仅需一次使用,可直接使用Pattern类的静态matches方法,此方法自动把指定字符串编译成匿名的Pattern对象,并执行匹配。 Boolean b=Pattern.matches(“a*b”,...
30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。 本文目标 如何使用本教程 正则表达式到底是什么东西? 入门 测试正则表达式 元字符 字符转义 重复 字符...
1. 什么是正则表达式 2 2. 不同的正则表达式引擎 2 ...12. 正则表达式的匹配模式 13 13. 原子组与防止回溯 14 14. 向前查看与向后查看 14 15. 正则表达式中的条件测试 17 16. 为正则表达式添加注释 17
19.4 正则表达式之重复出现数量匹配.mp4
给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。 '.' 匹配任意单个字符 '*' 匹配零个或多个前面的那一个元素 所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符...
正则表达式文档 1._引子 2._正则表达式的历史 3._正则表达式定义 3.1_普通字符 3.2_非打印字符 3.3_特殊字符 ...7._正则表达式匹配规则 7.1_基本模式匹配 7.2_字符簇 7.3_确定重复出现 8._参考文献
RegEx Builder可以帮助您比较两个表达式的结果 可以在软件上定义表达式的组数据 可以查看字符的编辑逻辑 如果在测试的时候获得不准确的字符 您可以重复测试多次,直到得到正确的结果 可以在软件上建立正式...