2014-09-04 2 views
0

다음 자바 스크립트 정규식을 사용하여 html이 포함 된 문자열에서 패턴을 찾습니다.javascript regex가 첫 번째 공백 대신 두 번째 공백과 일치합니다.

<td>brou ha ha </td><td>John May lives&nbsp;</td><td> blablabla</td> 

사용자는 가 조 가 전체 문자열과 일치하지 않아야 입력했습니다

sHTML = sHTML.replace(new RegExp("td>" + sFindPhrase + "[^\'\"\\\/\>\<]* ", "gi"), "<span id='spanFnd'></span><span style='background-color: orange'>$&######"); 
sHTML = sHTML.replace(new RegExp("[^\'\"\\\/\>\<]" + sFindPhrase + "[^\'\"\\\/\>\<]* ", "gi"), "<span id='spanFnd'></span><span style='background-color: orange'>$&######"); 

그렇게 SHTML 인 경우? 하지만 John May과 일치합니다. 그것은 문자열에서 찾은 두 번째 공백 문자로 이동합니다. 첫 번째 공백 문자에 멈추지 않습니다. 왜, 어떻게 해결할 수 있습니까?

미리 감사드립니다.

내 질문에 downvoted 사람 : 그것은 문자열에 HTML 또는 일반 텍스트가 포함되어 있는지 여부는 중요하지 않습니다. 평범한 텍스트 일지라도 여전히 정상적으로 작동하지 않습니다.

+3

[정규식 HTML을 구문 분석하지 마십시오!] (HTTP : // 유래. com/a/1732454/418066) – Biffen

+1

@Biffen 문자열에 일반 텍스트가 포함되어 있어도 문제가되지 않지만 여전히 작동하지 않습니다. 그냥 시도해 봤어. – MIrrorMirror

+0

@ Jonny5 만약 내가 그렇게하면 문자열의 끝에 일치합니다. – MIrrorMirror

답변

관련 문제