"foo\r\nbar".replace(/(foo).+/m, "bar")
안녕하세요. 이 코드 줄에 foo는 대체하지 않습니다 이유를 이해할 수 없다javascript multiline regexp replace
"foo\r\nbar".replace(/(foo).+/m, "bar")
안녕하세요. 이 코드 줄에 foo는 대체하지 않습니다 이유를 이해할 수 없다javascript multiline regexp replace
점
.
명시 적으로 하지 경기 개행 문자가 없기 때문에이 코드 줄
에 foo는 대체하지 않습니다 이유를 이해할 수 없다 .
이 작동합니다 : 개행 문자가 공백 (\s
)로 계산
"foo\r\nbar".replace(/foo[\s\S]+/m, "bar")
때문이다.
괄호는 foo
주위에 불필요하며 그룹화는 이점이 없습니다.
JavaScript는 도트 올 수정자를 지원하지 않습니다.
"foo\r\nbar".replace(/(foo)[\s\S]+/, "bar")
/m
가 제대로 ^
및 $
없이 행동을 만들지 만, .
에 영향을주지있다 : 일반적인 교체입니다.
Great.Thank –
감사합니다. 나는 몰랐습니다. 루비에서 기본적으로 않습니다. –
아니요. ;) (http://rubular.com/에서 직접 테스트 해보십시오.) – Tomalak
'[\ s \ S]'는'(? :. | \ s)'보다 훨씬 좋은 해결 방법입니다; 이유에 대한이 질문에 대한 Erik Corry의 답변을 참조하십시오. http://stackoverflow.com/questions/2407870/javascript-regex-hangs-using-v8 –