
WordPressのページには、_(アンダースコア) は次のようになります: https://wpg.meditationyoga.in/Peace_research_studies/ 交換する必要がある_と-(ダッシュ) を入力すると次のようになります: https://wpg.meditationyoga.in/Peace-research-studies/
ただし、この置換を URL 内でのみ行う正規表現を使用する必要があります。たとえば、id=”attachment_1076″ や id=”grad_table” などの他の要素では使用しないでください。
Search Regex プラグインを使用しています。上記の置換の正規表現は何ですか?
答え1
100%確信しているわけではないが、プラグイン「PHP」をサポートしているので、次のようなパターンを試すことができます:
(?:https?\S+?(?=_)|\G(?!^))(?:[^ _]*)\K_
(?:
- 最初の非キャプチャグループを開きます。https?
- オプションの「s」を使用して、「http」を文字通り一致させます。\S+?
- 遅延一致における、空白以外の文字。(?=_)
- アンダースコアの肯定的な先読み。|
- 交替/OR。\G(?!^)
- 前回の試合の開始時ではなく終了時に位置をアサートします。)
- 最初の非キャプチャ グループを閉じます。
(?:
- 2 番目の非キャプチャ グループを開きます。[^ _]*
- スペースまたはアンダースコア以外の 0 個以上の文字と一致します。)
- 2 番目の非キャプチャ グループを閉じます。
\K_
- 一致バッファをリセットし、アンダースコアを一致させます。
オンラインで見るデモ