2011-12-21 3 views
0

한다고 가정 우리가 같은 문자열이 문자열/StringBuffer를 값이 여러 줄에 나오는 얻을 수 있습니다.정규 표현식은

문자열의 경우 "(.+)\\s*[+=]\\s*(.+)(.*)[\\+]"을 사용했지만 가능한 많은 문자열 선언에 실패합니다.

또한 같은 StringBuffer를위한 : 내가 "[\\s]*([\\w]*)\\.append[\\s]*[(][\\s]*([\"][[^\"]|\"\"]*[\"])(.*)[)].*"을 사용했다 StringBuffer를 들어 나에게 query

의 가치를 제공 할 수있는이 또한 여러 정규 표현식에 대한

query.append("Some Value").append(" value 2") 
    .append(variable).append(" value 3"); 

.

미리 감사드립니다.

+0

나는 우리가 문제를 좁혀 야한다고 생각한다. 지금 당신은 Java 컴파일러 대신에 정규 표현식을 사용하려고합니다. –

답변

0

Pattern을 사용하고 Pattern.DOTALL으로 정규식을 컴파일하십시오.

그리고 괄호와 일치 시키려면 \( (즉, 인용시 "\\(")을 사용해야하며 문자 클래스는 필요하지 않습니다.

+1

모든 MULTILINE 옵션은 앵커'^'와'$'의 동작을 변경하여 입력의 시작/끝뿐만 아니라 라인 경계에서도 일치시킵니다. 어쩌면 당신은'.' 메타 문자가 * 개행 문자를 포함한 모든 문자와 일치하도록하는 DOTALL 옵션을 생각하고있을 것입니다. –

+0

아! 예, 두뇌 ... – fge