2013-07-31 2 views
0

JavaScript를 사용하여 파일을 정리하려고합니다. 이 파일은 다음과 같이 텍스트 행이 포함Javascript regex replace는 여분의 슬래시를 삽입합니다.

a <- b + c/d; 

내가 하나의 공백으로 구분 <-의 양쪽에 공백이 아닌 문자열이있을 때 = 모든 <-를 교체합니다. 꽤 쉬운 이론 :

line = "a <- b + c/d" 
result = line.replace(/(\S+) <- (\S+)/, /$1 = $2/) 

위 코드는 실행할 때 /a = b/ + c/d을 생성합니다. 그러나 개념 상으로는 a = b + c/d을 생성해야합니다. JavaScript가 슬래시를 삽입 할 수있는 기회없이 허위 -nilly없이 $1 스타일의 역 참조를 사용하려면 어떻게해야합니까?

답변

3

를 사용하여 두 번째 매개 변수에 대한 문자열 :

result = line.replace(/(\S+) <- (\S+)/, "$1 = $2");.

두 번째 매개 변수가 RegExp에서 String으로 강제 변환되고 대체에 슬래시가 추가됩니다.

0

replace의 두 번째 매개 변수는 regex가 아니라 String입니다.

당신은 다음과 같이 사용합니다 :

result = line.replace(/(\S+) <- (\S+)/, '$1 = $2'); 
관련 문제