다양한 html 태그가 포함 된 문자열이 있습니다. 예를 들어 :문자열을 검색하고 일치하는 숫자를 검색하는 자바 스크립트
var str = "<div>My text is <a> here</a> and it is <a> very wonderful</a>. For an example of how very great <a> my text is</a>. Please have a look</div>"
나는 태그 (이 경우 앵커)의 내부에 있지 만 단어를 대체하는 자바 스크립트하려면 string.replace()를 사용하고 싶습니다. 또한 사용자 입력에 따라 달라 지므로 RegExp에 변수를 포함해야합니다. 나는 먼저 string.match()로 테스트하고있다. 내가 한 번만 일치하는지 확인합니다.
코드를 javascript regex replace some words with links, but not within existing links에서 빌려서 .replace를 .match로 바꿨습니다.
그것은 나에게 형식 오류를 반환var word = "very";
var regex = new RegExp("/" + word + "(?![^<]*?<\/a>)/g");
console.log(str.match(regex).length);
: titleText.match (...)이 더 일치가 발견되지 나에게 제안 널 그래서 나는 다음과 같은 코드를 사용합니다. 그러나 이런 식으로 작성하면
console.log(str.match("/very(?![^<]*?<\/a>)/g").length);
결과가 예상됩니다. 이 경우, 1;
제안 사항?
* 어떤 제안하는 * 그래, 당신이 그들을 식별 할 HTML을 포함하는 거의 모든 경우에, 사용하지 않는 정규식. – alex
RegEx를 사용하여 HTML을 구문 분석 하시겠습니까? 좋은 결과 내길 바랄 게. –
'새로운 RegExp (word + '(?! <]*?<\/a>)', 'g')'는 정규 표현식으로 사물을 연결할 때'RegExp()'형식입니다. – PHPglue