정규식에서 괄호와 작은따옴표를 제외하고 괄호 안의 내용을 가져오는 방법

문법

.\n을 제외한 모든 문자가
+선행 하위 표현식과 한 번 이상 일치함을 나타냅니다.
(?<=exp)exp로 시작하지만 자신을 포함하지 않는 문자열입니다.
(?=exp)exp로 끝나는 문자열과 일치하지만 자신을 포함하지는 않습니다.
참고: 명령문 외부의 괄호는
g전역 변수와 일치하도록 생략할 수 없습니다.

성취하다

1. 괄호를 포함하여 괄호의 내용을 얻습니다.

var str="123{456}hhh[789]zzz[yyy]bbb(90ba)kkk";
var regex1 = /\((.+?)\)/g; // () 괄호
var regex2 = /\[(.+?)\]/g; // [] 대괄호
var regex3 = /\{(.+?)\}/g; // {} 중괄호, 중괄호

// 출력은 배열입니다.
console.log(str.match(regex1)); //['(90ba)']
console.log(str.match(regex2));//['[789]', '[yyy]']
console.log(str.match(regex3));//['{456}']

2. 괄호를 포함하지 않고 괄호의 내용 가져오기

즉, \(로 바꾸기 (?<=\(), \)로 바꾸기 (?=\))및 다른 괄호도 같은 방식으로 수행합니다.

var str2="123{456}hhh[789]zzz[yyy]bbb(90ba)kkk";
var regex11 = /(?<=\()(.+?)(?=\))/g; // () 괄호
var regex22 = /(?<=\[)(.+?)(?=\])/g; // [] 대괄호
var regex33 = /(?<=\{)(.+?)(?=\})/g; // {} 중괄호, 중괄호

// 출력은 배열입니다.
console.log(str2.match(regex11)); //['90ba']
console.log(str2.match(regex22));//['789', 'yyy']
console.log(str2.match(regex33));//['456']

Supongo que te gusta

Origin blog.csdn.net/shidouyu/article/details/127064521
Recomendado
Clasificación