js正则表达式,匹配括号中的内容(不包含括号)

案例1:JS 正则表达式 获取小括号 中括号 花括号内的内容(包含括号)

var str = "12【开始】3{xxxx}456[我的]789123[你的]456(1389090)78【结束】9";

var regex1 = /\((.+?)\)/g;   // () 小括号
var regex2 = /\[(.+?)\]/g;   // [] 中括号
var regex3 = /\{(.+?)\}/g;  // {} 花括号,大括号
var regex4 = /\【(.+?)\】/g;  // {} 中文大括号

// 输出是一个数组
console.log(str.match(regex1)); // ["(1389090)"]
console.log(str.match(regex2)); // ["[我的]", "[你的]"]
console.log(str.match(regex3)); // ["{xxxx}"]
console.log(str.match(regex4)); // ["【开始】", "【结束】"]

正则表达式匹配括号中的字符,不包括括号

(?<=\()\S+(?=\))

(?<=exp)是以exp开头的字符串, 但不包含本身.
(?=exp)就匹配为exp结尾的字符串, 但不包含本身.

(?<=() 也就是以括号开头, 但不包含括号.

(?=)) 就是以括号结尾

\S 匹配任何非空白字符。等价于[^\f\n\r\t\v]。
+表示至少有一个字符.

(?<=()\S+(?=)) 就是匹配以 (开头, )结尾的括号里面最少有一个非空白字符的串, 但不包括开头的(和结尾的)

案例2 以案例1为基础,不包含括号

var str = "12【开始】3{xxxx}456[我的]789123[你的]456(1389090)78【结束】9";

var regex1 = /(?<=\()(.+?)(?=\))/g;   // () 小括号
var regex2 = /(?<=\[)(.+?)(?=\])/g;   // [] 中括号
var regex3 = /(?<=\{)(.+?)(?=\})/g;  // {} 花括号,大括号
var regex4 = /((?<=\【)(.+?)(?=\】))/g;  // {} 中文大括号

// 输出是一个数组
console.log(str.match(regex1)); // ["1389090"]
console.log(str.match(regex2)); // ["我的", "你的"]
console.log(str.match(regex3)); // ["xxxx"]
console.log(str.match(regex4)); // ["开始", "结束"]

猜你喜欢

转载自blog.csdn.net/u013299635/article/details/125717591