2013-06-15 3 views
0

나는 regexp에 익숙하고 사소한 파싱 작업을 계속한다. 다음과 같은 구조를주는 것은 빈 줄 사이의 모든 텍스트를 일치시키는 regexp가 필요하므로 일치하는 배열을 반복하고 각 항목을 구문 분석 할 수있다. 당신은 \. ".*을 사용할 수 있습니다사이의 텍스트를 일치시키는 정규 표현식입니다. "그리고 빈 줄

id1. "question title 1" 
* variant one 
* variant two 
* three // comment 

id2. "question title 2" 
+ variant one 
+ two 
+ three 

id3. "Anoter question title" 
another variant 
+0

잠깐, 문자열을 공백으로 분할하면됩니까? –

+0

즉, 공백이 아닌 라인과 일치하는 reg exp가 필요합니까? – Buddha

+0

실제로 빈 줄에 의해 –

답변

1

질문으로이. 당신은 마지막으로 네 번째 문자에서 읽을 수 있지만 일 수 있습니다. 경기의 하나로서 당신에게 . "question title 1"을 줄 것이다

나는 일치 할 수있는 방법을 알아낼 수 정규 표현식을 사용하는 질문 및 답변 줄입니다.이 정규 표현식은 복수 줄과 일치하지만 \. "[\s\S]+이지만 모든 질문과 답변을 단일 문자열로 일치시키는 문자열의 끝까지 일치합니다.

답이 항상 + 또는 *로 시작된다고 가정하면 또 다른 대안은 (\. ".*)|([\*\+].*)입니다.이 질문과 답변은 모두 일치합니다. 그러나 질문과 답변은 별도의 매치입니다.

또 다른 방법은 id. "을 사용하여 문자열을 분할하는 것입니다. 그러면 질문과 답변이 다른 문자열로 제공됩니다. 그러나 문제의 끝에 수동으로 "을 삭제해야 할 수도 있습니다.

내가 상상할 수있는 또 다른 방법은 ^\s*$을 사용하여 전체 문자열을 분할하는 것입니다. 이렇게하면 빈 줄을 사용하여 문자열을 분할하고 질문과 답변을 하나의 단일 그룹으로 제공합니다. 이게 도움이 되길 바란다.

관련 문제