javascript - js正则表达式

查看:109
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆