>웹 프론트엔드 >JS 튜토리얼 >Javascript_javascript 팁에서 XX ​​문자로 끝나지 않는 단어를 찾는 샘플 코드

Javascript_javascript 팁에서 XX ​​문자로 끝나지 않는 단어를 찾는 샘플 코드

WBOY
WBOY원래의
2016-05-16 17:20:091610검색

먼저, 이 글을 쓰기 전에 정규 표현식을 가지고 2시간 이상을 보냈다는 점을 말씀드리고 싶습니다. 슬프다~슬프다~슬프다~

일반적인 생각에 따라 몇 가지 다른 삽입 방법을 살펴보겠습니다. 문자열을 사용합니다.

코드를 복사합니다. 코드는 다음과 같습니다.

var str = "eattd gebcat gedat jadu geat beu";

는 예시입니다.

1. "ge"로 시작하면 결과는 "gebcat, gedat, geat"이어야 합니다. 단어가 "ge"로 시작하므로 나중에 사용할 수 있도록 새 배열을 넣을 수 있습니다.
코드 복사 코드는 다음과 같습니다.

var exp1 = /bgew /ig

var matchStr = exp1.exec(str);

while (matchedStr != null && matchStr.index < str.length) {
if (matchedStr[0] != null ) {
inv.innerHTML = "
결과는 다음과 같습니다: " matchStr[0]
//newStr = newStr.replace(matchedStr[0])
wordsArr.push(matchedStr[ 0]) ;
}
matchedStr = exp1.exec(str);
}

2. "at"로 끝나는 단어의 경우 결과는 "gebcat"입니다. "게다트", "게트". 마찬가지로 배열을 넣을 수도 있습니다.
코드 복사 코드는 다음과 같습니다.

var exp1 = /w(atb)/ ig;

3. "ge"로 시작하지 않는 단어의 경우 이를 저장할 또 다른 배열이 필요합니다.
코드 복사 코드는 다음과 같습니다.

var exp1 = /b(?!ge )w / ig
varwordsArr = new Array();
var matchStr = exp1.exec(str)

while(matchedStr != null && matchStr.index < str.length) ) {
if (matchedStr[0] != null) {
inv.innerHTML = "
결과는 다음과 같습니다: " matchStr[0]
newStr = newStr.replace(matchedStr[0) ]);
wordsArr.push(matchedStr[0]);
matchedStr = exp1.exec(str)
}

//wordsArr = newStr.split( " ") ;

for (var i = 0; i if (wordsArr[i] == "undefine") {
wordsArr.splice(i ,1) ;
} else
i
}

4. "at"으로 끝나지 않는 단어, 그런데 문제가 발생합니다. Javascript의 Regex는 상대적으로 약하고 역방향 탐색 부정을 지원하지 않으므로 작성할 수 없습니다.

코드 복사 코드는 다음과 같습니다. 다음:
var exp1 = /w (?


코드 복사 코드는 다음과 같습니다.
var exp1 = /w (?!atb)/ig

오른쪽
의 의미에서 단어의 끝은 "at"이 될 수 없습니다. 즉 불가능합니다. bw는 단어 경계를 찾는 것입니다. 다른 각도에서 작성해서 at로 끝나는 단어를 찾아 원래 문자열에서 해당 단어를 삭제합니다. 그런 다음 새 배열을 넣으십시오.

코드 복사 코드는 다음과 같습니다.
function RegularExpTest() {
var inv = document .getElementById("RegexTest");
var str = "eattd gedbcat gedat jadu geat beu";
var newStr =
var exp1 = /w atb/ig; wordArr = new Array();
var matchStr = exp1.exec(str);

while (matchedStr != null && matchStr.index < str.length) {
if (matchedStr[ 0] ! = null) {
inv.innerHTML = "
결과는 다음과 같습니다: " matchStr[0]
newStr = newStr.replace(matchedStr[0])
matchedStr = exp1.exec(str);
}

wordsArr = newStr.split(" ");

for (var i = 0; i if (wordsArr[i] == "정의되지 않음") {
wordsArr.splice(i,1)
} else
i
}

inv .innerHTML = "
결과는 다음과 같습니다: "wordArr
}


완료!
생각하면 얻을 것이고, 생각하지 않으면 얻지 못할 것이다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.