정규 표현식을 배우고 있습니다 (현재 Javascript에 있음). 정규 표현식 캡쳐 그룹
내가 어떤 길이의 직선 문자열이 있습니다내 질문이다.
이 문자열에는 최소한 (필수) 세 패턴이 있습니다.
결과로 rule.exec()
문자열을 원하고 3 요소 배열을 얻으려고합니다. 각 패턴을 별도의 요소로.
어떻게 접근해야합니까? 현재 나는 그것에 도달했지만 많은 위아래로 캡처를 그룹화하기 위해 정확히 무엇을해야하는지 모릅니다. 정규 표현식의 각 그룹을 구분하는 괄호 ()
입니까?
내 정규 표현식 규칙 예 :
var rule = /([a-zA-Z0-9].*\s?(@classs?)+\s+[a-zA-Z0-9][^><]*)/g;
var str = "<Home @class www.tarjom.ir><string2 stringValue2>";
var res;
var keys = [];
var values = [];
while((res = rule.exec(str)) != null)
{
values.push(res[0]);
}
console.log(values);
// begin to slice them
var sliced = [];
for(item in values)
{
sliced.push(values[item].split(" "));// converting each item into an array and the assign them to a super array
}
/// Last Updated on 7th of Esfand
console.log(sliced);
그리고 (파이어 폭스 27 - 개똥 벌레의 CONSOLE.LOG) 반환 결과는
[["Home", "@class", "www.tarjom.ir"]]
내가 필요한 것을 가지고, 난 그냥 설명이 필요 반환 패턴에.
을 나는 괄호 3 개 세트가있는 경우'()()()'나는 세 캡처 그룹을받을 수 있습니까? –
@ MT-Developer 예, 업데이트 된 답변을 참조하십시오. – SQB