2017-03-22 3 views
0

사람이 인용되었음을 강조해야하는 문서가 있습니다. 그래서 제가 확인 아래 작동하지만 그것은 단지를 선두를 캡처 코드 ..RegEx - 따옴표로 묶인 모든 문자열 집합 찾기

var str = 'L\'armée sud-coréenne accuse la Corée du Nord d\'avoir lancé \"plusieurs\" missiles \"balistiques interdits qui ont franchi une distance\" d\'environ 1000 kilomètres avant de tomber au \"large de la côte est du pays communiste.\" ' 

var reg = new RegExp(/"(.*?)"/); 
var matches = str.match(reg); 

for (var i = 0; i < matches.length; i++) { 
    var s = matches[i]; 
    str = str.replace(matches[i], '<span style="color:blue">' + matches[i] + '</span>'); 
    matches[i] = s; 
} 
+1

그것은이 대체를 수행하기 전에'String.prototype.match' 문자열을 테스트 할 쓸모. 'String.prototype.replace'를 직접 사용하십시오. –

답변

2

을 사용하고 있습니다 ... 따옴표로 둘러싸여있어 모든 텍스트를 찾고 있어요 당신의 Regex global :

g 수정자는 전역 일치를 수행하는 데 사용됩니다 (첫 번째 일치 이후 중지하지 않고 모든 일치를 찾습니다).

var str = 'L\'armée sud-coréenne accuse la Corée du Nord d\'avoir lancé \"plusieurs\" missiles \"balistiques interdits qui ont franchi une distance\" d\'environ 1000 kilomètres avant de tomber au \"large de la côte est du pays communiste.\" ' 

var reg = new RegExp(/"(.*?)"/g); //notice /g, making the expression global 
var matches = str.match(reg); 

for (var i = 0; i < matches.length; i++) { 
    var s = matches[i]; 
    str = str.replace(matches[i], '<span style="color:blue">' + matches[i] + '</span>'); 
    matches[i] = s; 
} 

document.getElementById("myDiv").innerHTML = str; 

표현식 글로벌 보장 따옴표 경기의 모든 인스턴스를 만들기.

JSFiddle : https://jsfiddle.net/zjxjub96/

@Casimir 그의 의견에, 여기에 약간의 예입니다 말씀을 설명하기 위해이 방법이 쉽다는 것을

var str = 'L\'armée sud-coréenne accuse la Corée du Nord d\'avoir lancé \"plusieurs\" missiles \"balistiques interdits qui ont franchi une distance\" d\'environ 1000 kilomètres avant de tomber au \"large de la côte est du pays communiste.\" ' 
 
str = str.replace(/"(.*?)"/g, '<span style="color:blue">$&</span>') 
 
document.getElementById("myDiv").innerHTML = str;
<div id="myDiv"> 
 

 
</div>

공지하고, 아무튼 ' for 루프가 필요합니다.

JSFiddle : https://jsfiddle.net/zjxjub96/1/

+1

와우, 네가 어떻게 알았을 때 너무 쉽게 ... 나는 루프와 그 외의 것들을하기 시작했다. ... thx !! –