메모장 ++에서 와일드 카드를 사용하여이 텍스트를 모두 찾아서 바꾸려면 어떻게해야합니까?


2

나는 이것에 대한 도움을 정말로 감사하겠습니다. XML 스크립트로 마크 업 된 큰 텍스트 모음을 작업 중이므로 몇 가지 사항을 정리해야합니다. 보다 구체적으로, 대괄호 안에 수백 개의 숫자가 있습니다 (예 : '[1234]'와 같이) (괄호 포함). 각 숫자는 다르며이 숫자에는 3 ~ 5 자리 숫자가있을 수 있습니다.

두 번째로해야 할 일은 XML 태그를 다른 텍스트 조각 주위에 배치하는 것입니다. 이것은 대괄호 안에있는 이름입니다. 즉 :

그는 (미스터 스미스) 말했다 ...

내가 바꾸고 싶은 것 :

그는 <annot> (Mr. Smith) </annot>말했다 ... '.

이 두 가지 변경을 어떻게 수행 할 수 있습니까?

이미 확장 모드를 사용하여 '[. *]'를 검색하려고했지만 조회수를 반환하지 않습니다. RegEx와 동일하게 시도하면 많은 히트가 발생하지만 코퍼스의 각 대괄호를 검색하는 것 같습니다.

답변:


1

대괄호는 정규 표현식에서 특별한 토큰 (있는 [a-z]범위의 모든 문자 의미 a로를 z), 그래서 당신은 그들을 탈출해야 할 것이다.

검색 표현식은 하나 이상의 숫자 \[\d+\]\d+의미합니다. 그러나 이것을 숫자만으로 바꾸고 싶습니다. 괄호를 사용하여 캡처 그룹을 설정하고 바꾸기 식에서 참조 그룹을 참조해야합니다. 설정은 다음과 같습니다.

  • 검색 : \[(\d+)\]
  • 다음으로 교체하십시오. \1

두 번째 문제에 관해서는, 나는 단지 이름은 괄호 사이에있는 경우 제대로 줄 컨텍스트와 ..., 그냥 대체 할 수있는 이해 모르겠어요 \([^\)]+\)으로 <annot> \0 </annot>, 아니면 \(Mr\. [^\)]+\)이름이 앞에있는 경우 Mr..

세부 사항을 살펴보면 작동 방식은 다음과 같습니다.

  • 그들은 일반적으로 그룹을 캡처 정의하는 데 사용됩니다대로 사용할 수 있도록 당신이 검색의 괄호 (이스케이프해야 \(하고\)
  • [^...]+ 하나 이상의 문자를 의미합니다 ...
  • 따라서 검색 표현식은 여는 괄호 뒤에 닫는 괄호가 아닌 문자 (따라서 이름과 일치해야 함)와 닫는 괄호가 뒤 따릅니다.
  • \0 대체 영역에서 검색된 전체 표현식을 나타냅니다.

대체 할 이름의 목록이 \(whatever name\)있으면 검색 표현식으로 사용 하는 것이 좋으며 그렇지 않은 경우 정규 표현식을 "추측"할 수 없으므로 불가능합니다. .


2
또한 정규식을 사용하여 신속하게 검색해야합니다. 확장 모드는 탭의 경우에만 \ t, 줄
바꾸기의 경우
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.