perl正则表达式中的量词 ?

文章详细解释了正则表达式中问号(?),作为贪婪量词的含义。它表示匹配0次或1次,在实例中展示了如何匹配字符串。当模式/(fred)?A/匹配CfredA时,结果为fredA,而/(fred)?/匹配CfredA时则为空字符串,因为问号优先匹配0次,并在找到首次匹配后停止。这表明即使贪婪量词在无/g选项时也不会尝试匹配最长可能的字符串。
摘要由CSDN通过智能技术生成

?表示匹配0次或1次,同时?是贪婪量词,会优先匹配1次。

如 模式 /(fred)?A/用于匹配字符串"CfredA"时匹配的结果是 “fredA”。

但需要注意如果用模式/(fred)?/去匹配字符串"CfredA",匹配到的结果为"",即空字符串。这是因为在字符串开始的地方匹配到了0次(fred),此时已经满足匹配条件了。在不使用/g选项的情况下,匹配到第一次就算匹配完成了,即使是贪婪量词也不会去匹配字符串里最长的,而是匹配第一次匹配到的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值