2011-12-08 4 views
1

나는 문자 그대로 글자 블록을 가지고 있습니다. 텍스트의 어딘가에 [블록] 또는 [헤더]와 같은 것이 있습니다. 나는 다음과 같은 정규 표현식에 일치시킬 :유효한 다중 행 Javascript REGEX를 만드는 방법

new RegExp("(.*)\\[" + config.wrapper+ "\\](.*)", "m");

내가 "안녕하세요 [블록]"작성하는 경우는 완벽하게 작동합니다.

내가 작성하는 경우 "안녕하세요

[블록]"그것은 아무것도 잡는다 없습니다.

정확하게 일치 시키려면 무엇이 누락 되었습니까?

참고로, 복잡한 이유 때문에 현재이 특별한 경우에는 핸들 바 또는 기타 템플릿 엔진과 같은 템플릿 엔진을 사용할 수 없습니다.

답변

3

변경이이에

(.*) 

:

([\\s\\S]*) 

. 때문에 줄 바꿈과 일치하지 않습니다.

+0

'패턴 = 새 RegExp ("([\ s \ S] *) \\" "(config.wrapper +"\\] (. *) ","m "); 나는 또한 "m"을 제거하려고 노력했다. 그리고 나서 나는 또한 [. \ r \ n \ s] –

+0

을 시도했습니다. @DaveStein : 죄송합니다. 문자열에서 정규식을 작성하고 있다는 사실을 잊어 버렸습니다. '\\ s \\ S'가 필요합니다. 나는 갱신 할 것이다. – RightSaidFred

+0

아, 그래, 그게 전부 였어. 감사! 그래서 기본적으로 이전의 시도는 \ n 대신 \ n을해야 할 필요가있었습니다. S는 잘 작동합니다. 감사. –

관련 문제