Confluence(コンフルエンス)で正規表現を使用した置換方法

コンフルで正規表現の文字列置換

Confluence(コンフルエンス)を使用していると特定のテキストをすべて置換したいことがある。

例えば「バレンタインデイ」となっている箇所を「バレンタインデー」に置換したいなどだ。

コンフルで検索および置換をするには編集画面右上の🔍アイコンをクリックすれば検索および置換の入力欄が表示されるので、ここに入力すれば良い。

Confluence(コンフルエンス)で正規表現を使用した置換方法

しかし、正規表現で置換するオプションはないため、「バレンタインデイ」と「バレンタインディ」となっている箇所を正規表現を使用して「バレンタインデー」に一括置換することはできない。

Consoleを利用して正規表現置換

コンフル内のテキストは編集時は「id="tinymce"」内にあるため、ConsoleからJavaScriptでこの部分をinnerHTMLで取得して置換したい文字列に差し替えてinnerHTMLで挿入し直せば正規表現の置換が可能になる。

やり方はページの編集中に以下のスクリプトをConsoleで実行して「置換前」の正規表現と「置換後」の文字列を入れるだけだ。

var before = new RegExp(prompt('置換前の文字 ', ''), 'g')
var after = prompt('置換後の文字', '')
var tinymce = document.getElementById('tinymce')
var html = tinymce.innerHTML
tinymce.innerHTML = html.replace(before, after)

例えば「バレンタインデイ」と「バレンタインディ」の例であれば「(バレンタインデ).」と置換前に正規表現で入力して、置換後に「$1ー」と入力すれば一括で「バレンタインデー」に置換することができる。

カテゴリーwiki