정규식 일치 주위에 몇 줄을 캡처하는 방법은 무엇입니까? 정규식을 찾고 있습니다. 예를

일치하는 줄을 통해 두 줄을 일치시키는 정규식을 찾고 있습니다. 예를 들면 다음과 같습니다.

ABCDEFGHADEFGH
ABCDEFGHADEFGH
ABCDEFGHDEFGHABCDEFGH
ABCDEFGHDEFGHABCDEFGH
ABCDEFGHABCDEFGHABCDEFGH
ABCDEFGHABCDEFGHABCDEFGH
XXXXXXXX

XXXXXXXX 위의 2 줄을 캡처하고 싶습니다.

도움을 주시면 감사하겠습니다. 참고 : 라이브러리 re를 사용하는 Python의 경우



답변

다음 RegEx는 라인 앞에 가변적 인 양의 라인을 테스트 XXXXXXXX하여 첫 번째 캡처 그룹으로 반환합니다.

((.*\n){2})XXXXXXXX

  1. (.*\n)\n개행으로 끝나는 문자열을 테스트합니다 .
  2. {2} 이것을 2 번 정량합니다.
  3. () 그 주위에 모든 라인이 하나의 캡처 그룹으로 들어갑니다.
  4. XXXXXXXX 텍스트로 끝나는 문자열입니다.

이제 파이썬에서는 p.match(regex)[0]첫 번째 캡처 그룹을 반환하는 데 사용할 수 있습니다 .


답변

erikgaal의 답변에 추가하기 위해 xxxxxx 앞에 여분의. *를 사용하여 탭 / 공백을 일치시킵니다.

((. * \ n) {2}). * xxxxxxx


답변