Notepad++에 필요한 정규식 도움말

Notepad++에 필요한 정규식 도움말

텍스트 문서에서 다음 문자열의 모든 인스턴스를 찾거나 바꾸는 데 도움이 되는 정규식(메모장++)의 구문을 알아야 합니다.

문자열은 다음과 같습니다

Where do you want to go next?
some text
some text
some text
Home

이제 '일부 텍스트'는 한 줄 또는 여러 줄의 텍스트일 수 있습니다. 가끔 '다음에는 어디로 가고 싶나요?' string과 Home 사이에는 한 줄의 텍스트만 있습니다.

이 목록의 맨 마지막 항목은 항상 국회의사당 H와 함께 Home이라는 단어가 됩니다.

이 텍스트 블록(이 문서에서 말 그대로 수백 번 나타남)의 모든 인스턴스를 다음에 어디로 가고 싶습니까?, '일부 텍스트' 줄 및 Home이라는 단어를 제거하고 싶습니다.

내가 문제에 부딪힌 부분은 '일부 텍스트'가 가변적이고 새 줄에서 시작된다는 사실이었습니다. 저는 정규 표현식에 능숙하지 않다는 점을 인정해야 합니다. 따라서 Superuser.com의 누군가가 평판 포인트를 사용할 수 있을 것이라고 생각합니다. :)

추가 정보가 필요하면 알려주십시오.

감사해요,

리치

답변1

Notepad++의 최신 버전(>6.1.x인 것 같습니다)은 이제 여러 줄 일치를 지원합니다(현재 6.1.5를 사용하고 있습니다).

찾기/바꾸기 대화 상자의 "정규 표현식" 라디오 버튼 옆에 여러 줄 일치를 의미하는 ".matches newline"이라는 확인란이 있습니다.

해당 확인란을 선택한 후 다음 정규식을 사용하세요.

^Where do you want to go next\?.*?^Home$

답변2

이 정규식은 나에게 효과적이었습니다.

^Where do you want to go next?\r\n(.*\r\n)*?Home$

Windows에서는 \r\n새 줄을 사용합니다. Unix 기반 시스템에서는 \n.

이런 구별이 지금 막 떠올랐는데, 새로운 것을 가르쳐주셔서 감사합니다. :-)

관련 정보