모든 URL에서 _를 -로 바꾸는 정규식

모든 URL에서 _를 -로 바꾸는 정규식

WordPress 페이지에 다음과 같은 URL이 많이 있습니다._(밑줄)은 다음과 같습니다: https://wpg.meditationyoga.in/Peace_research_studies/ 그리고 교체해야 합니다_~와 함께-(대시) 이것을 얻으려면: https://wpg.meditationyoga.in/Peace-research-studies/

하지만 예를 들어 id=”attachment_1076″ 또는 id=”grad_table”과 같은 다른 요소가 아닌 URL에서만 이러한 대체를 수행하는 정규식을 사용해야 합니다.

Search Regex 플러그인을 사용하고 있습니다. 위 대체에 대한 정규식은 무엇입니까?

답변1

100% 확신할 수는 없지만 제 생각에는플러그인이는 'PHP'를 지원하므로 다음과 같은 패턴을 시도할 수 있습니다.

(?:https?\S+?(?=_)|\G(?!^))(?:[^ _]*)\K_
  • (?:- 1차 비캡처 그룹을 오픈합니다.
    • https?- 문자 그대로 'http'를 선택적 's'와 일치시킵니다.
    • \S+?- 지연 일치에서 공백이 아닌 문자.
    • (?=_)- 밑줄에 대한 긍정적인 예측.
    • |- 교대/또는.
    • \G(?!^)- 시작 시가 아닌 이전 경기 종료 시 위치를 주장합니다.
    • )- 첫 번째 비캡처 그룹을 닫습니다.
  • (?:- 2차 비포획 그룹을 오픈합니다.
    • [^ _]*- 공백이나 밑줄을 제외한 0개 이상의 문자를 일치시킵니다.
    • )- 두 번째 비캡처 그룹을 닫습니다.
  • \K_- 일치 버퍼를 재설정하고 밑줄을 일치시킵니다.

온라인을 참조하세요데모

관련 정보