이름은 기억이 나지 않지만 RegExp 개체 내에서 이미 일치하는 문자열을 참조 할 수 있다고 생각합니다. 내가 뭘 원하는 정규 표현식은 그때 배열에서 모든 개별 경기를 넣어 재귀 함수를 사용합니다, 단지 같은 태그를 일치시킬 수 있어야한다 주어진 문자열 예javascript regexp 일치하는 태그 이름
<ul><li>something in the list</li></ul>
내의 모든 태그를 일치합니다. 첫 번째 경기를 참조 할 수 있다면 작동해야하는 정규식이 될 것입니다.
var s = '<ul><li>something in the list</li></ul>';
s.match(/<([^>]+)><([^>]+)>(.*?)<\/\2><\/\1>/)
// => ["<ul><li>something in the list</li></ul>",
// "ul",
// "li",
// "something in the list"]
결과는 다음과 같습니다
var reg = /(?:<(.*)>(.*)<(?:FIRST_MATCH)\/>)/g;
일치 된 배열은 다음 어떤 도움
match[0] = "<ul><li>something in the list</li></ul>";
match[1] = "ul";
match[2] = ""; // no text to match
match[3] = "li";
match[4] = "something in the list";
감사를 포함해야
답장을 보내 주셔서 감사합니다.하지만 작동하지 않습니다. 나는 당신이 게시하고 Javascript에서 역 참조가 불가능하다는 것을 발견 한 이후로 계속 읽고 있습니다. 어쩌면 나는'String.replace()'에서 함수를 넘겨 줄 수 있고 첫 번째 태그 이름을 가진 다른 대체 문자를 실행할 수있다. 배열에서 그 문자열을 밀어 낸다. 나는 그것을 작동시킬 수 있는지를 알 것이다. – synthet1c
@ synthet1c, 작동하지 않습니까? 역 참조는 자바 스크립트에서 가능합니다. http://ideone.com/sdmFmq (예제 실행)를 참조하십시오. 또한 [MDN의 정규 표현식 가이드] (https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions)를 참조하십시오 (페이지에서'뒤로 참조 찾기) – falsetru
, 훌륭하게 작동합니다. 당신의 도움을 주셔서 감사합니다 – synthet1c