1
현재 문자열에서 부분 문자열을 정규 표현식과 일치시켜 추출하려고합니다. 입력 문자열은 모두 foo.bar("""foobar""")
형식입니다. 여기서 foobar는 추출 할 부분 문자열입니다. 이 내가이 작업을 위해 쓴 정규 표현식이다 :,자바 정규 표현식 : 개행 문자와 뒤에 공백 문자를 매치
Pattern pattern = Pattern.compile(
".+\\(\"{3}(.+)\"{3}\\)" , Pattern.MULTILINE);
그것은 단순한 문자열에 대해 잘 일치,하지만 공백 다음에 줄 바꿈이 일치하는 문자열에서 발생할 때마다 실패 즉 foo.bar("""foo\n bar""")
방법 나는 그 패턴이 그 문자열과 일치하도록 패턴을 변경해야합니까?
, 감사를 나는'이용할 수 있도록 패턴 중간에 변경할 때이 DOTALL에서 여러 행을 대체하는 것을 잊었다 :-)를 행한 '([^ "{3}] +)'... 대신에. (. +)'를 사용하십시오. – jbaiter
JeanMarie, 대답의 왼쪽에있는 체크 표시를 클릭하면 응답 할 수 있습니다. – jluzwick