在正则表达式中,+
和 +?
分别表示贪婪和不贪婪的量词。
以下是它们的详细解释和示例:
+
(贪婪量词)
- 作用:匹配前面的元素一次或多次,并尽可能多地匹配字符。
-
示例:
const text = "abc abc abc"; const regex = /a.+c/g; // 贪婪匹配 const result = text.match(regex); console.log(result); // 输出: ["abc abc"]
在这个例子中,
.+
会匹配从第一个a
到最后一个c
之间的所有字符。
+?
(不贪婪量词)
- 作用:匹配前面的元素一次或多次,但尽可能少地匹配字符。
-
示例:
const text = "abc abc abc"; const regex = /a.+?c/g; // 不贪婪匹配 const result = text.match(regex); console.log(result); // 输出: ["abc", "abc", "abc"]
在这个例子中,
.+?
会匹配每个a
到最近的c
,而不是跨越整个字符串。
总结
+
是贪婪的,会尽可能多地匹配字符。+?
是不贪婪的,会尽可能少地匹配字符。
这些量词的使用取决于你的实际需求。
如果你希望匹配到最远的匹配,使用 +
;
如果你需要尽量靠近的匹配,使用 +?
。
1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » 正则表达式专题:贪婪模式和非贪婪模式
飞云脚本圈: 586333520
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » 正则表达式专题:贪婪模式和非贪婪模式