正则 - 匹配结果
【引用】
栗子:
var city = li[i].innerText;
console.log(city);
效果图:
继续:
var city = li[i].innerText.match(/(.+)空气/);
console.log(city);
效果图:
可以看到上图,每个数组里都有4个元素,第一项是与整个模式匹配的字符串、第二项是与模式中的捕获组匹配的字符串、第三项是匹配项在字符串中的位置、第四项是应用正则表达式的字符串(就是谁去匹配)。
什么事捕获组?
可以这么理解,匹配模式中,被括号括起来的就是捕获组。
继续看栗子:
var city = li[i].innerText.match(/(.+)(空气)/);
console.log(city);
效果图:
这回,每个数组里有5个元素了,第一项和倒数两项不变,中间项就是那些捕获组,空气也被括号括起来了,是一个捕获组。
捕获组就是将正则表达式中子表达式匹配的结果,分组按顺序保存,之后可以通过序号或名称来使用这些内容。不过,暂时 JavaScript 还不支持为捕获组命名,因此也就无法通过名称来访问捕获组,只能通过序号访问。
分组之后可以将各组子表达式的匹配结果分别处理,操作更加灵活。
匹配中文
var pattern = /[\u4e00-\u9fa5a]/;
var word = '你好';
pattern.test(word); //true