1.指定元素中间的字符
输出结果均为数组
var str="a(123)b[456]c{789}";
//表达式: A.*?B
var regex1 = /\((.*?)\)/g; // () 小括号及内容
var regex2 = /\[(.*?)\]/g; // [] 中括号及内容
var regex3 = /\{(.*?)\}/g; // {} 大括号及内容
str.match(regex1); //(123)
str.match(regex2); //[456]
str.match(regex3); //{789}
//表达式: A.*?(?=B) 不包含后面字符串B
var regex1 = /\((.*?(?=\)))/g; // () 小括号及内容
var regex2 = /\[(.*?(?=\]))/g; // [] 中括号及内容
var regex3 = /\{(.*?(?=\}))/g; // {} 大括号及内容
str.match(regex1); //(123
str.match(regex2); //[456
str.match(regex3); //{789
//表达式:(?<=A).*?(?=B) 不包含前面字符串A 且 不包含后面字符串B
var regex1 = /((?<=\().*?(?=\)))/g; // () 小括号及内容
var regex2 = /((?<=\[).*?(?=\]))/g; // [] 中括号及内容
var regex3 = /((?<=\{).*?(?=\}))/g; // {} 大括号及内容
console.log(str.match(regex1)); //123
console.log(str.match(regex2)); //456
console.log(str.match(regex3)); //789
//取多个{}中间的值 组成数组
let str = '{1}2{3}44{5}'
var regex = /(?<=\{).*?(?=\})/g;
console.log(str.match(regex)) //['1','3','5']
网友评论