2016-09-24 2 views
0

일치하는 그룹 만 유지하고 나머지 텍스트는 어떻게 삭제합니까?Regex - 일치하는 그룹을 제외한 모든 것을 삭제하십시오 (3을 사용).

사용 : 라임 3 - 정규식 내 패턴은 내가 유지하려는

1.5.1 Bla bla bla 
text text text 
text text text 
1.5.2 Bla bla bla 
text text text 

입니다

에만이

1.5.1 Bla bla bla 
1.5.2 Bla bla bla 

내가 제외한 모든 그룹 만 선택 관리 할 수는 없지만 그들.

는 링크 : https://regex101.com/r/pV9xU6/2

는 의견에 따라 당신에게

+0

언어는 무엇입니까? –

+0

'5.1.' + 임의의 숫자와 그 다음 나머지 줄과 다음 줄을 매치하고 나머지는 모두 제거해야한다는 것을 의미합니까? –

+1

'(? s)^(1 \ .5 \. \ d + [^ \ n] * \ n [^ \ n] * \ n) | .'을 시도하고'$ 1'로 바꿉니다. 질문이 당신이 데모에서 가지고있는 것과 다르다면, 패턴 시작에서 하드 코드 된 숫자를 조정할 수 있습니다.) –

답변

1

감사, 그것은 여러 가지 방법으로 수행 할 수 있습니다

Find: (?s)^(1\.5\.\d+[^\n]*\n[^\n]*\n)|.  /gm 
Replace: $1 

또는

Find (general way): (*SKIP)(*F)|.*\R* 
Find: (1[.]5[.]\d+.*\n.*\n)(*SKIP)(*F)|.*\R* 
Replace: nothing 

또는

Find: (^1\.5\.\d+.*\n.*\n)\K(?>.*\R)*?(?=(?1)|.*\z)  /gm 
Replace: nothing 

귀하의 모든 도움에 감사드립니다.

관련 문제