2011-02-07 7 views
10

단어의 일부가 아닌 텍스트 내부의 단어를 바꾸려면 정규 표현식이 필요합니다. 대체Javascript : 정규식 안의 단어를 바꾸기위한 정규식

내 코드 '드'또한 단어의 일부 때 적절한 출력을 얻을에 대한 " degree deep "

무엇을 정규식해야합니다 내가 필요

str="de degree deep de"; 
output=str.replace(new RegExp('de','g'),''); 

output==" gree ep " 

출력?

RegExp('\\bde\\b','g') // regex object constructor (takes a string as input) 

/\bde\b/g    // regex literal notation, does not require \ escaping 

같은 일 것을

답변

17
str.replace(/\bde\b/g, ''); 

참고.

\b은 "단어 경계"를 나타냅니다. 단어 경계는 단어 문자가 이 아닌 단어 문자 뒤에 오는 위치로 정의되거나 그 반대의 경우도 마찬가지입니다. 단어 문자는 JavaScript에서 [a-zA-Z0-9_]으로 정의됩니다.

시작-의 문자열들은 각각 다음 또는 단어 문자 앞에는으로 위치만큼뿐만 아니라 단어 경계가 될 수 끝 문자열 및 .

단어 문자의 개념이 영어의 영역 밖에서는 잘 작동하지 않는다는 점에 유의하십시오.

2

등록 번호 \bde\b을 사용할 수 있습니다.

실례 샘플 here을 찾을 수 있습니다.

정규식 문자 \b은 단어 분리 기호 역할을합니다. here을 더 찾을 수 있습니다.

2

당신은 \b 사이에 검색 문자를 동봉해야합니다

str="de degree deep de"; 
output=str.replace(/\bde\b/g,'');