2011-11-29 6 views
0

:자바 스크립트 내가이 문자열이 정규식 교체

a.replace(/>(\d*)</, 40) 

그러나 발생합니다 :

var s = '<span style="font-size:13px">20<div class="lblTitle"></div><span>';  

나는 20 (40)에 대체하고 싶습니다, 나는 시도

<span style="font-size:13px"40div class="lblTitle"></div></span> 

>< 도 교체 ...
는 어떻게해야합니까?

답변

4

당신은 >< 일치하고 교체 옆에 넣어 수 있습니다 : 당신이하지 않는, 그래서

.replace(/>(\d*)</, ">40<") 

당신은 문자열이 대체됩니다

.replace(/(>)\d*(<)/, "$140$2") 

하거나 사용 치환이 정수 여야합니다.

+0

+ 1은 대괄호를 유지할 필요가 없다는 것을 인식하기 때문에 쉽게 교체 할 수 있습니다. – Nightfirecat

0

당신은 특정 그룹을 대체 할 수 없습니다 오히려 당신은 당신의 교체 값 그룹의 값을 사용할 수 있습니다. 당신은 문자열 교체를 사용할 수 있습니다, 정규식은 여기에 필요하지 않습니다. 그것은 것, 당신은 당신의 교체의 값 20 어딘가를 사용한 경우. 이 경우 정규식을 사용하여

는 이상 죽일뿐만 아니라 성능을 방해처럼 간단한 텍스트를 대체하는 것입니다. 더 나은 정규식 PARAM없이 string.replace를 사용합니다.

a.replace(">20<", 40); 

, 당신은 당신이 >/d+< 형식으로 모든 번호를 대체 할 것을 언급하고는 귀하의 요구 사항 인 경우, 그냥이 같은 정규식으로 이동하지 않은 마음을하시기 바랍니다 :

a.replace(/>(\d*)</, ">40<")