2017-10-07 21 views
1

큰 텍스트 파일이 있습니다. 특정 키워드 [사이에 공백이있는 "ABC DEF G"]가 있습니다. 텍스트 파일에서 정확하게 두 번 발생하거나 전혀 발생하지 않습니다.[메모장에서 주어진 두 단어 사이에서 자동으로 텍스트 선택 ++]

이 두 키워드 사이의 모든 텍스트 (약 300 ~ 1000 줄)가 자동으로 선택되도록 메모장 ++ 검색을하고 싶습니다. 그러면 플러그인을 통해 선택한 텍스트에 대해 몇 가지 작업을 수행하게됩니다. 첫 번째 질문은

입니다.이 자동 선택은 정규 표현식 또는 일부 내장 된 플러그인을 통해 가능합니다.

예인 경우 제안 해주십시오.

현재 전체 텍스트 파일을 검색하여 시간과 메모리를 소모합니다. 감사합니다. .

+0

을 의미 ] (https://ibb.co/dovFiw)? – Gurman

+0

예 정확히 다음과 같습니다. –

+0

좋아요. 나는 그것을 답으로 추가했다. – Gurman

답변

0

이 정규식을 시도해보십시오

(?<=ABC DEF G)[\s\S]*(?=ABC DEF G)

Click for Demo

설명 :

  • (?<=ABC DEF G)-Positive Lookbehind 텍스트 앞에는 위치를 찾을 수 ABC DEF G
  • ,
  • [\s\S]* - 일치하는 모든 문자
  • (?=ABC DEF G)의 발생 0+ - Positive lookahead 즉시 텍스트 뒤에 위치를 찾을 수 ABC DEF G

출력 : 당신은 [이 같은

enter image description here

+0

나를 도와 줄 수 있다면 한 가지. 텍스트는 ABC DEF G *****와 유사하고 일부 텍스트와 유사합니다. 그렇다면 ABC DEF G ******. ***** 이후에 다음 줄의 텍스트를 원하고 두 번째로 A에 다시 도달 할 때까지 원합니다. 더 이상 텍스트가 없으면이 표현은 무엇을 할 것인가. 첫 번째 문제는 플러그인에서 이미 수행중인 문자 스캔을 수행하여 해결할 수도 있습니다.이 텍스트가 없으면 어떻게 될지 알려줄 수 있습니다. –

+0

@NikhilSaxena'(? <= ABC DEF G) [^ \ n] * \ n \ K [\ s \ S] * (? = ABC DEF G)'. [여기] (https://regex101.com/r/8cOYW8/2)를 참조하십시오. 다음 줄부터 선택하고 있습니다. – Gurman

+0

제대로 작동하고 있습니다. 그러나 경우에 따라 작동하지 않습니다. 작동하지 않으면 텍스트 파일은 약 4 개의 lac 라인으로 커집니다. 최대 2.5 lac까지 작은 파일의 경우 작동합니다.이 검색은 파일 크기 또는 다른 이유가있을 수 있습니까? –