
我在 WordPress 頁面中有很多 URL_(底線)像這樣: https://wpg.meditationyoga.in/Peace_research_studies/ 並需要更換_和-(破折號)得到這個: https://wpg.meditationyoga.in/Peace-research-studies/
但必須使用僅在 URL 中進行此替換的正規表示式,而不是在其他元素中進行替換,例如 id=”attachment_1076″ 或 id=”grad_table”
我正在使用搜尋正規表示式插件。上述替換的正規表示式是什麼?
答案1
我不是 100% 確定,但我認為透過查看插入它支援“PHP”,這意味著您可以嘗試以下模式:
(?:https?\S+?(?=_)|\G(?!^))(?:[^ _]*)\K_
(?:
- 開啟第一個非捕獲組。https?
- 將“http”與可選的“s”字面匹配。\S+?
- 惰性匹配中的任何非空白字元。(?=_)
- 底線的正向前瞻。|
- 交替/或。\G(?!^)
- 在上一場比賽結束時確定位置,而不是在開始時。)
- 關閉第一個非捕獲組。
(?:
- 開啟第二個非捕獲組。[^ _]*
- 符合空格或底線之外的零個或多個字元。)
- 關閉第二個非捕獲組。
\K_
- 重置匹配緩衝區並匹配底線。
看網路上的示範