javascript - js正则表达式
本文介绍了javascript - js正则表达式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
var str = "123456abc1abc";
var re = /(\d+)(\D\D)/g; //结果是["123456ab", "1ab"]
// var re = /(\d+?)(\D\D)/g; //结果是["123456ab", "1ab"] 这里非贪婪不应该是6ab 和 1ab吗
console.log(str.match(re))
解决方案
可以这么理解,没人要的东西你多要,不能叫做贪婪。
再举个栗子:
var str='1234abc56efg';
var regx1=/(\d+)(\d+)(\D\D)/g;
var regx2=/(\d+?)(\d+)(\D\D)/g;
console.log(regx1.exec(str)); // ["1234ab", "123", "4", "ab", index: 0, input: "1234abc56efg"]
console.log(regx2.exec(str)); // ["1234ab", "1", "234", "ab", index: 0, input: "1234abc56efg"]
注意匹配 $1 和匹配 $2 的值的区别
这篇关于javascript - js正则表达式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文