为了账号安全,请及时绑定邮箱和手机立即绑定

正则表达式 .*+ 匹配什么?

正则表达式 .*+ 匹配什么?

交互式爱情 2019-03-14 10:10:25
正则表达式 .*+ 匹配什么?
查看完整描述

4 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

*是一个限定符,用来修饰前一个字符或分组,限定匹配重复的数量为任意数量。
例如:
正则表达式 a* 可以匹配 a aa aaa aaaa aaaaaaa等等
正则表达式 (ab)* 可以匹配 ab abababab ababababababab等等

需要注意个是,*与+不同,+要求重复数量至少为1,*则可以为0,所以字符串为空也是可以匹配的。

以下是常用的限定符代码:
*重复零次或更多次
+重复一次或更多次
?重复零次或一次
{n}重复n次
{n,}重复n次或更多次
{n,m}重复n到m次



查看完整回答
反对 回复 2019-03-22
?
慕容3067478

TA贡献1773条经验 获得超3个赞

*是一个限定符,用来修饰前一个字符或分组,限定匹配重复的数量为任意数量。
例如:
正则表达式:a*,可以匹配a、aa、aaa、aaaa、aaaaaaa等等。
正则表达式:(ab)*,可以匹配ab、abababab、ababababababab等等。

后边多一个?表示懒惰模式。
必须跟在*或者+后边用。
如:<img src="test.jpg" width="60px" height="80px"/>。
如果用正则匹配src中内容非懒惰模式匹配。
src=".*"。
匹配结果是:src="test.jpg" width="60px" height="80px"。
意思是从="往后匹配,直到最后一个"匹配结束。

懒惰模式正则:
src=".*?"。
结果:src="test.jpg"。
因为匹配到第一个"就结束了一次匹配。不会继续向后匹配。因为他懒惰嘛。

.表示除\n之外的任意字符。
*表示匹配0-无穷。

 

 


查看完整回答
反对 回复 2019-03-22
?
暮色呼如

TA贡献1853条经验 获得超9个赞

a.*+b如果是错误的匹配,说明使用的语言或者工具不支持这种语法的固化分组。你说的.*+匹配到字符末尾了,没有字符与b匹配,这是失败的匹配,不是错误的匹配。错误和失败是不同的,错误是语法错误,说明正则语法不对,失败是说正则语法没问题,只不过源字符串没有匹配成功。

查看完整回答
反对 回复 2019-03-22
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

要写成 a.*b,.*代表匹配除换行符以外的任意字符任意次,可以是0次。.代表除换行符以外的任意字符,*代表任意次,相当于{0,}

或者 a.+b,.+代表匹配除换行符以外的任意字符一次以上,可以是1次。.代表除换行符以外的任意字符,+代表1次以上,相当于{1,}

查看完整回答
反对 回复 2019-03-22
  • 4 回答
  • 0 关注
  • 1740 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信