正则表达式中的*是什么意思

 我来答
小葵花点穴手
高粉答主

2019-11-14 · 还没有任何签名哦
小葵花点穴手
采纳数:143 获赞数:11260

向TA提问 私信TA
展开全部
绯弹亚丝娜
推荐于2017-11-22 · TA获得超过1094个赞
知道小有建树答主
回答量:330
采纳率:100%
帮助的人:135万
展开全部
*是一个限定符,用来修饰前一个字符或分组,限定匹配重复的数量为任意数量。
例如:
正则表达式 a* 可以匹配 a aa aaa aaaa aaaaaaa等等
正则表达式 (ab)* 可以匹配 ab abababab ababababababab等等

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

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

望采纳!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
紧迫性吨绞
2018-03-31 · TA获得超过1212个赞
知道小有建树答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

*是一个限定符,用来修饰前一个字符或分组,限定匹配重复的数量为任意数量。
例如:
正则表达式: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-无穷。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
137332522
2013-08-11 · 超过30用户采纳过TA的回答
知道答主
回答量:115
采纳率:0%
帮助的人:62.3万
展开全部
你前面的感叹号是不是之前有个问号?

(?!pattern)
负向预查,在任何不匹配 pattern
的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如'Windows (?!95|98|NT|2000)' 能匹配
"Windows 3.1" 中的 "Windows",但不能匹配 "Windows 2000" 中的
"Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始

(?:pattern)
匹配 pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用
"或" 字符 (|) 来组合一个模式的各个部分是很有用。例如, 'industr(?:y|ies) 就是一个比 'industry|industries'
更简略的表达式。

?
当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m})
后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串 "oooo",'o+?'
将匹配单个 "o",而 'o+' 将匹配所有 'o'。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ttv56
2016-07-24 · TA获得超过270个赞
知道答主
回答量:77
采纳率:100%
帮助的人:36.7万
展开全部
匹配任意字符任意次,换言之就是匹配任意字符串
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(13)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式