메모장 ++ 및 정규식 - 두 특정 문자열 사이에 대소문자 문자열의 제목을 지정하는 방법은 무엇입니까?

mk1138

파일에 수백 개의 bib 참조가 있으며 다음 구문이 있습니다.

@article{tabata1999precise,
  title={Precise synthesis of monosubstituted polyacetylenes using Rh complex catalysts. 
Control of solid structure and $\pi$-conjugation length},
  author={Tabata, Masayoshi and Sone, Takeyuchi and Sadahiro, Yoshikazu},
  journal={Macromolecular chemistry and physics},
  volume={200},
  number={2},
  pages={265--282},
  year={1999},
  publisher={Wiley Online Library}
}

정규식을 사용하여 메모장 ++에서 저널 이름의 제목(일명 적절한 경우)을 지정하고 싶습니다. 예를 들어 에서 Macromolecular chemistry and physics까지 Macromolecular Chemistry and Physics.

다음을 사용하여 모든 인스턴스를 찾을 수 있습니다.

(?<=journal\=\{).*?(?=\})

하지만 Edit > Convert Case to를 통해 케이스를 변경할 수 없습니다. 분명히 모두 찾기에서 작동하지 않으며 하나씩 가야합니다.

다음으로 매크로를 기록하고 실행하려고 시도했지만 메모장 ++을 실행하려고하면 무기한 중단됩니다 (파일 끝까지 실행하는 옵션).

그래서 제 질문은: 대소문자를 변경하는 데 사용할 수 있는 바꾸기 정규식 구문을 아는 사람이 있습니까? 이상적으로는 "|"도 사용하고 싶습니다. " of ", " an ", " " 등과 같은 특정 단어에 대한 제외. 여기제공된 몇 가지 예를 사용하려고 시도했지만 내 예측에 통합할 수 없었습니다.

미리 감사드립니다. 도움을 주시면 감사하겠습니다.

이것

이것은 단어 수에 관계없이 작동합니다.

  • Ctrl+H
  • 무엇을 찾다: (?:journal={|\G)\K(?:(\w{4,})|(\w+))(\h*)
  • 다음으로 교체: \u$1\E$2$3
  • 확인 랩 어라운드
  • CHECK 정규식
  • Replace all

설명:

(?:             # non capture group
    journal={     # literally
  |              # OR
    \G            # restart from last match position
)               # end group
\K              # forget all we have seen until this position
(?:             # non capture group
    (\w{4,})      # group 1, a word with 4 or more characters
  |              # OR
    (\w+)         # group 2, a word of any length
)               # end group
(\h*)           # group 3, 0 or more horizontal spaces

바꿔 놓음:

\u          # uppercased the first letter of the following
  $1        # content of group 1
\E          # stop the uppercased
$2          # content of group 2
$3          # content of group 3

스크린샷(이전):

여기에 이미지 설명 입력

스크린샷(후):

여기에 이미지 설명 입력

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

TOP 리스트

  1. 1

    Matlab의 반복 Sortino 비율

  2. 2

    ImageJ-히스토그램 빈을 변경할 때 최대, 최소 값이 변경되는 이유는 무엇입니까?

  3. 3

    Excel : 합계가 N보다 크거나 같은 상위 값 찾기

  4. 4

    C #에서 'System.DBNull'형식의 개체를 'System.String'형식으로 캐스팅 할 수 없습니다.

  5. 5

    원-사각형 충돌의 충돌 측면을 찾는 문제

  6. 6

    Oracle VirtualBox-설치를 위해 게스트를 부팅 할 때 호스트 시스템이 충돌 함

  7. 7

    어떻게 아무리 "나쁜", ANY의 SSL 인증서와 HttpClient를 사용하지합니다

  8. 8

    Ubuntu는 GUI에서 암호로 사용자를 만듭니다.

  9. 9

    잘못된 상태 예외를 발생시키는 Apache PoolingHttpClientConnectionManager

  10. 10

    Python 사전을 사용하는 동안 "ValueError : could not convert string to float :"발생

  11. 11

    openCV python을 사용하여 텍스트 문서에서 워터 마크를 제거하는 방법은 무엇입니까?

  12. 12

    Vuetify 다중 선택 구성 요소에서 클릭 한 항목의 값 가져 오기

  13. 13

    C ++ VSCode에서 같은 줄에 중괄호 서식 지정

  14. 14

    Cassandra에서 버전이 지정된 계층의 효율적인 모델링

  15. 15

    JQuery datepicker 기능이 인식되지 않거나 새 프로젝트에서 작동하지 않음

  16. 16

    cuda 11.1에서 Pytorch를 사용할 때 PyTorch가 작동하지 않음: Dataloader

  17. 17

    jfreecharts에서 x 및 y 축 선을 조정하는 방법

  18. 18

    상황에 맞는 메뉴 색상

  19. 19

    마우스 휠 JQuery 이벤트 핸들러에 대한 방향 가져 오기

  20. 20

    매개 변수에서 쿼리 객체를 선언하는 방법은 무엇입니까?

  21. 21

    Maven은 아이 프로젝트 대상 폴더를 청소하지

뜨겁다태그

보관