「Wikipediaマークアップ修正」の版間の差分

提供: MeryWiki
ナビゲーションに移動 検索に移動
MSY-07 (トーク | 投稿記録)
全角英数・記号の処理を「全角空白」「全角記号」「全角英数」に分割
MSY-07 (トーク | 投稿記録)
変数の統合、ドットの位置を修正
25行目: 25行目:


var sel = document.selection;
var sel = document.selection;
// 未選択なら全文選択
if (sel.Text == "") {
if (sel.Text == "") {
sel.SelectAll();
sel.SelectAll();
}
}


var s1 = sel.Text;
var s = sel.Text;
var s2 = "";


s2 = s1.
s = s
// 全角空白
// 全角空白
replace(/ /g, ' ').
.replace(/ /g, ' ')
// 全角記号
// 全角記号
replace(/$/g, '$').
.replace(/$/g, '$')
replace(/%/g, '%').
.replace(/%/g, '%')
replace(/&/g, '&').
.replace(/&/g, '&')
replace(/*/g, '*').
.replace(/*/g, '*')
replace(/+/g, '+').
.replace(/+/g, '+')
replace(/,/g, ',').
.replace(/,/g, ',')
replace(/-/g, '-').
.replace(/-/g, '-')
replace(/./g, '.').
.replace(/./g, '.')
replace(///g, '/').
.replace(///g, '/')
replace(/;/g, ';').
.replace(/;/g, ';')
replace(/</g, '<').
.replace(/</g, '<')
replace(/>/g, '>').
.replace(/>/g, '>')
replace(/@/g, '@').
.replace(/@/g, '@')
replace(/¥/g, '\\').
.replace(/¥/g, '\\')
replace(/^/g, '^').
.replace(/^/g, '^')
replace(/_/g, '_').
.replace(/_/g, '_')
replace(/`/g, '`').
.replace(/`/g, '`')
// 全角英数
// 全角英数
replace(/0/g, '0').
.replace(/0/g, '0')
replace(/1/g, '1').
.replace(/1/g, '1')
replace(/2/g, '2').
.replace(/2/g, '2')
replace(/3/g, '3').
.replace(/3/g, '3')
replace(/4/g, '4').
.replace(/4/g, '4')
replace(/5/g, '5').
.replace(/5/g, '5')
replace(/6/g, '6').
.replace(/6/g, '6')
replace(/7/g, '7').
.replace(/7/g, '7')
replace(/8/g, '8').
.replace(/8/g, '8')
replace(/9/g, '9').
.replace(/9/g, '9')
replace(/A/g, 'A').
.replace(/A/g, 'A')
replace(/B/g, 'B').
.replace(/B/g, 'B')
replace(/C/g, 'C').
.replace(/C/g, 'C')
replace(/D/g, 'D').
.replace(/D/g, 'D')
replace(/E/g, 'E').
.replace(/E/g, 'E')
replace(/F/g, 'F').
.replace(/F/g, 'F')
replace(/G/g, 'G').
.replace(/G/g, 'G')
replace(/H/g, 'H').
.replace(/H/g, 'H')
replace(/I/g, 'I').
.replace(/I/g, 'I')
replace(/J/g, 'J').
.replace(/J/g, 'J')
replace(/K/g, 'K').
.replace(/K/g, 'K')
replace(/L/g, 'L').
.replace(/L/g, 'L')
replace(/M/g, 'M').
.replace(/M/g, 'M')
replace(/N/g, 'N').
.replace(/N/g, 'N')
replace(/O/g, 'O').
.replace(/O/g, 'O')
replace(/P/g, 'P').
.replace(/P/g, 'P')
replace(/Q/g, 'Q').
.replace(/Q/g, 'Q')
replace(/R/g, 'R').
.replace(/R/g, 'R')
replace(/S/g, 'S').
.replace(/S/g, 'S')
replace(/T/g, 'T').
.replace(/T/g, 'T')
replace(/U/g, 'U').
.replace(/U/g, 'U')
replace(/V/g, 'V').
.replace(/V/g, 'V')
replace(/W/g, 'W').
.replace(/W/g, 'W')
replace(/X/g, 'X').
.replace(/X/g, 'X')
replace(/Y/g, 'Y').
.replace(/Y/g, 'Y')
replace(/Z/g, 'Z').
.replace(/Z/g, 'Z')
replace(/a/g, 'a').
.replace(/a/g, 'a')
replace(/b/g, 'b').
.replace(/b/g, 'b')
replace(/c/g, 'c').
.replace(/c/g, 'c')
replace(/d/g, 'd').
.replace(/d/g, 'd')
replace(/e/g, 'e').
.replace(/e/g, 'e')
replace(/f/g, 'f').
.replace(/f/g, 'f')
replace(/g/g, 'g').
.replace(/g/g, 'g')
replace(/h/g, 'h').
.replace(/h/g, 'h')
replace(/i/g, 'i').
.replace(/i/g, 'i')
replace(/j/g, 'j').
.replace(/j/g, 'j')
replace(/k/g, 'k').
.replace(/k/g, 'k')
replace(/l/g, 'l').
.replace(/l/g, 'l')
replace(/m/g, 'm').
.replace(/m/g, 'm')
replace(/n/g, 'n').
.replace(/n/g, 'n')
replace(/o/g, 'o').
.replace(/o/g, 'o')
replace(/p/g, 'p').
.replace(/p/g, 'p')
replace(/q/g, 'q').
.replace(/q/g, 'q')
replace(/r/g, 'r').
.replace(/r/g, 'r')
replace(/s/g, 's').
.replace(/s/g, 's')
replace(/t/g, 't').
.replace(/t/g, 't')
replace(/u/g, 'u').
.replace(/u/g, 'u')
replace(/v/g, 'v').
.replace(/v/g, 'v')
replace(/w/g, 'w').
.replace(/w/g, 'w')
replace(/x/g, 'x').
.replace(/x/g, 'x')
replace(/y/g, 'y').
.replace(/y/g, 'y')
replace(/z/g, 'z').
.replace(/z/g, 'z')
// 半角カナ
// 半角カナ
replace(/。/g, '。').
.replace(/。/g, '。')
replace(/「/g, '「').
.replace(/「/g, '「')
replace(/」/g, '」').
.replace(/」/g, '」')
replace(/、/g, '、').
.replace(/、/g, '、')
replace(/・/g, '・').
.replace(/・/g, '・')
replace(/ガ/g, 'ガ').
.replace(/ガ/g, 'ガ')
replace(/ギ/g, 'ギ').
.replace(/ギ/g, 'ギ')
replace(/グ/g, 'グ').
.replace(/グ/g, 'グ')
replace(/ゲ/g, 'ゲ').
.replace(/ゲ/g, 'ゲ')
replace(/ゴ/g, 'ゴ').
.replace(/ゴ/g, 'ゴ')
replace(/ザ/g, 'ザ').
.replace(/ザ/g, 'ザ')
replace(/ジ/g, 'ジ').
.replace(/ジ/g, 'ジ')
replace(/ズ/g, 'ズ').
.replace(/ズ/g, 'ズ')
replace(/ゼ/g, 'ゼ').
.replace(/ゼ/g, 'ゼ')
replace(/ゾ/g, 'ゾ').
.replace(/ゾ/g, 'ゾ')
replace(/ダ/g, 'ダ').
.replace(/ダ/g, 'ダ')
replace(/ヂ/g, 'ヂ').
.replace(/ヂ/g, 'ヂ')
replace(/ヅ/g, 'ヅ').
.replace(/ヅ/g, 'ヅ')
replace(/デ/g, 'デ').
.replace(/デ/g, 'デ')
replace(/ド/g, 'ド').
.replace(/ド/g, 'ド')
replace(/バ/g, 'バ').
.replace(/バ/g, 'バ')
replace(/ビ/g, 'ビ').
.replace(/ビ/g, 'ビ')
replace(/ブ/g, 'ブ').
.replace(/ブ/g, 'ブ')
replace(/ベ/g, 'ベ').
.replace(/ベ/g, 'ベ')
replace(/ボ/g, 'ボ').
.replace(/ボ/g, 'ボ')
replace(/パ/g, 'パ').
.replace(/パ/g, 'パ')
replace(/ピ/g, 'ピ').
.replace(/ピ/g, 'ピ')
replace(/プ/g, 'プ').
.replace(/プ/g, 'プ')
replace(/ペ/g, 'ペ').
.replace(/ペ/g, 'ペ')
replace(/ポ/g, 'ポ').
.replace(/ポ/g, 'ポ')
replace(/ヴ/g, 'ヴ').
.replace(/ヴ/g, 'ヴ')
replace(/ヲ/g, 'ヲ').
.replace(/ヲ/g, 'ヲ')
replace(/ァ/g, 'ァ').
.replace(/ァ/g, 'ァ')
replace(/ィ/g, 'ィ').
.replace(/ィ/g, 'ィ')
replace(/ゥ/g, 'ゥ').
.replace(/ゥ/g, 'ゥ')
replace(/ェ/g, 'ェ').
.replace(/ェ/g, 'ェ')
replace(/ォ/g, 'ォ').
.replace(/ォ/g, 'ォ')
replace(/ャ/g, 'ャ').
.replace(/ャ/g, 'ャ')
replace(/ュ/g, 'ュ').
.replace(/ュ/g, 'ュ')
replace(/ョ/g, 'ョ').
.replace(/ョ/g, 'ョ')
replace(/ッ/g, 'ッ').
.replace(/ッ/g, 'ッ')
replace(/ー/g, 'ー').
.replace(/ー/g, 'ー')
replace(/ア/g, 'ア').
.replace(/ア/g, 'ア')
replace(/イ/g, 'イ').
.replace(/イ/g, 'イ')
replace(/ウ/g, 'ウ').
.replace(/ウ/g, 'ウ')
replace(/エ/g, 'エ').
.replace(/エ/g, 'エ')
replace(/オ/g, 'オ').
.replace(/オ/g, 'オ')
replace(/カ/g, 'カ').
.replace(/カ/g, 'カ')
replace(/キ/g, 'キ').
.replace(/キ/g, 'キ')
replace(/ク/g, 'ク').
.replace(/ク/g, 'ク')
replace(/ケ/g, 'ケ').
.replace(/ケ/g, 'ケ')
replace(/コ/g, 'コ').
.replace(/コ/g, 'コ')
replace(/サ/g, 'サ').
.replace(/サ/g, 'サ')
replace(/シ/g, 'シ').
.replace(/シ/g, 'シ')
replace(/ス/g, 'ス').
.replace(/ス/g, 'ス')
replace(/セ/g, 'セ').
.replace(/セ/g, 'セ')
replace(/ソ/g, 'ソ').
.replace(/ソ/g, 'ソ')
replace(/タ/g, 'タ').
.replace(/タ/g, 'タ')
replace(/チ/g, 'チ').
.replace(/チ/g, 'チ')
replace(/ツ/g, 'ツ').
.replace(/ツ/g, 'ツ')
replace(/テ/g, 'テ').
.replace(/テ/g, 'テ')
replace(/ト/g, 'ト').
.replace(/ト/g, 'ト')
replace(/ナ/g, 'ナ').
.replace(/ナ/g, 'ナ')
replace(/ニ/g, 'ニ').
.replace(/ニ/g, 'ニ')
replace(/ヌ/g, 'ヌ').
.replace(/ヌ/g, 'ヌ')
replace(/ネ/g, 'ネ').
.replace(/ネ/g, 'ネ')
replace(/ノ/g, 'ノ').
.replace(/ノ/g, 'ノ')
replace(/ハ/g, 'ハ').
.replace(/ハ/g, 'ハ')
replace(/ヒ/g, 'ヒ').
.replace(/ヒ/g, 'ヒ')
replace(/フ/g, 'フ').
.replace(/フ/g, 'フ')
replace(/ヘ/g, 'ヘ').
.replace(/ヘ/g, 'ヘ')
replace(/ホ/g, 'ホ').
.replace(/ホ/g, 'ホ')
replace(/マ/g, 'マ').
.replace(/マ/g, 'マ')
replace(/ミ/g, 'ミ').
.replace(/ミ/g, 'ミ')
replace(/ム/g, 'ム').
.replace(/ム/g, 'ム')
replace(/メ/g, 'メ').
.replace(/メ/g, 'メ')
replace(/モ/g, 'モ').
.replace(/モ/g, 'モ')
replace(/ヤ/g, 'ヤ').
.replace(/ヤ/g, 'ヤ')
replace(/ユ/g, 'ユ').
.replace(/ユ/g, 'ユ')
replace(/ヨ/g, 'ヨ').
.replace(/ヨ/g, 'ヨ')
replace(/ラ/g, 'ラ').
.replace(/ラ/g, 'ラ')
replace(/リ/g, 'リ').
.replace(/リ/g, 'リ')
replace(/ル/g, 'ル').
.replace(/ル/g, 'ル')
replace(/レ/g, 'レ').
.replace(/レ/g, 'レ')
replace(/ロ/g, 'ロ').
.replace(/ロ/g, 'ロ')
replace(/ワ/g, 'ワ').
.replace(/ワ/g, 'ワ')
replace(/ン/g, 'ン').
.replace(/ン/g, 'ン')
replace(/゙/g, '゛').
.replace(/゙/g, '゛')
replace(/゚/g, '゜').
.replace(/゚/g, '゜')
// 約物
// 約物
replace(/。。。|、、、/g, '…').
.replace(/。。。|、、、/g, '…')
replace(/・・・/g, '…').
.replace(/・・・/g, '…')
replace(/!!/g, '!!').
.replace(/!!/g, '!!')
replace(/!?/g, '!?').
.replace(/!?/g, '!?')
replace(/?!/g, '?!').
.replace(/?!/g, '?!')
replace(/??/g, '??').
.replace(/??/g, '??')
replace(/([^\/])(~|~)/g, '$1〜'). //全角チルダ(U+FF5E)やチルダ(U+007E)を波ダッシュ(U+301C)に変更
.replace(/([^\/])(~|~)/g, '$1〜') //全角チルダ(U+FF5E)やチルダ(U+007E)を波ダッシュ(U+301C)に変更
replace(/‥/g, '…').
.replace(/‥/g, '…')
replace(/〇|◯/g, '○'). //漢数字のゼロ「〇」や大きな丸「◯」を丸「○」に変更
.replace(/〇|◯/g, '○') //漢数字のゼロ「〇」や大きな丸「◯」を丸「○」に変更
// ローマ数字
// ローマ数字
replace(/Ⅰ/g, 'I').
.replace(/Ⅰ/g, 'I')
replace(/Ⅱ/g, 'II').
.replace(/Ⅱ/g, 'II')
replace(/Ⅲ/g, 'III').
.replace(/Ⅲ/g, 'III')
replace(/Ⅳ/g, 'IV').
.replace(/Ⅳ/g, 'IV')
replace(/Ⅴ/g, 'V').
.replace(/Ⅴ/g, 'V')
replace(/Ⅵ/g, 'VI').
.replace(/Ⅵ/g, 'VI')
replace(/Ⅶ/g, 'VII').
.replace(/Ⅶ/g, 'VII')
replace(/Ⅷ/g, 'VIII').
.replace(/Ⅷ/g, 'VIII')
replace(/Ⅸ/g, 'IX').
.replace(/Ⅸ/g, 'IX')
replace(/Ⅹ/g, 'X').
.replace(/Ⅹ/g, 'X')
replace(/Ⅺ/g, 'XI').
.replace(/Ⅺ/g, 'XI')
replace(/Ⅻ/g, 'XII').
.replace(/Ⅻ/g, 'XII')
replace(/ⅰ/g, 'i').
.replace(/ⅰ/g, 'i')
replace(/ⅱ/g, 'ii').
.replace(/ⅱ/g, 'ii')
replace(/ⅲ/g, 'iii').
.replace(/ⅲ/g, 'iii')
replace(/ⅳ/g, 'iv').
.replace(/ⅳ/g, 'iv')
replace(/ⅴ/g, 'v').
.replace(/ⅴ/g, 'v')
replace(/ⅵ/g, 'vi').
.replace(/ⅵ/g, 'vi')
replace(/ⅶ/g, 'vii').
.replace(/ⅶ/g, 'vii')
replace(/ⅷ/g, 'viii').
.replace(/ⅷ/g, 'viii')
replace(/ⅸ/g, 'ix').
.replace(/ⅸ/g, 'ix')
replace(/ⅹ/g, 'x').
.replace(/ⅹ/g, 'x')
replace(/ⅺ/g, 'xi').
.replace(/ⅺ/g, 'xi')
replace(/ⅻ/g, 'xii').
.replace(/ⅻ/g, 'xii')
// 丸数字
// 丸数字
replace(/①/g, '(1)').
.replace(/①/g, '(1)')
replace(/②/g, '(2)').
.replace(/②/g, '(2)')
replace(/③/g, '(3)').
.replace(/③/g, '(3)')
replace(/④/g, '(4)').
.replace(/④/g, '(4)')
replace(/⑤/g, '(5)').
.replace(/⑤/g, '(5)')
replace(/⑥/g, '(6)').
.replace(/⑥/g, '(6)')
replace(/⑦/g, '(7)').
.replace(/⑦/g, '(7)')
replace(/⑧/g, '(8)').
.replace(/⑧/g, '(8)')
replace(/⑨/g, '(9)').
.replace(/⑨/g, '(9)')
replace(/⑩/g, '(10)').
.replace(/⑩/g, '(10)')
replace(/⑪/g, '(11)').
.replace(/⑪/g, '(11)')
replace(/⑫/g, '(12)').
.replace(/⑫/g, '(12)')
replace(/⑬/g, '(13)').
.replace(/⑬/g, '(13)')
replace(/⑭/g, '(14)').
.replace(/⑭/g, '(14)')
replace(/⑮/g, '(15)').
.replace(/⑮/g, '(15)')
replace(/⑯/g, '(16)').
.replace(/⑯/g, '(16)')
replace(/⑰/g, '(17)').
.replace(/⑰/g, '(17)')
replace(/⑱/g, '(18)').
.replace(/⑱/g, '(18)')
replace(/⑲/g, '(19)').
.replace(/⑲/g, '(19)')
replace(/⑳/g, '(20)').
.replace(/⑳/g, '(20)')
replace(/㉑/g, '(21)').
.replace(/㉑/g, '(21)')
replace(/㉒/g, '(22)').
.replace(/㉒/g, '(22)')
replace(/㉓/g, '(23)').
.replace(/㉓/g, '(23)')
replace(/㉔/g, '(24)').
.replace(/㉔/g, '(24)')
replace(/㉕/g, '(25)').
.replace(/㉕/g, '(25)')
replace(/㉖/g, '(26)').
.replace(/㉖/g, '(26)')
replace(/㉗/g, '(27)').
.replace(/㉗/g, '(27)')
replace(/㉘/g, '(28)').
.replace(/㉘/g, '(28)')
replace(/㉙/g, '(29)').
.replace(/㉙/g, '(29)')
replace(/㉚/g, '(30)').
.replace(/㉚/g, '(30)')
replace(/㉛/g, '(31)').
.replace(/㉛/g, '(31)')
replace(/㉜/g, '(32)').
.replace(/㉜/g, '(32)')
replace(/㉝/g, '(33)').
.replace(/㉝/g, '(33)')
replace(/㉞/g, '(34)').
.replace(/㉞/g, '(34)')
replace(/㉟/g, '(35)').
.replace(/㉟/g, '(35)')
replace(/㊱/g, '(36)').
.replace(/㊱/g, '(36)')
replace(/㊲/g, '(37)').
.replace(/㊲/g, '(37)')
replace(/㊳/g, '(38)').
.replace(/㊳/g, '(38)')
replace(/㊴/g, '(39)').
.replace(/㊴/g, '(39)')
replace(/㊵/g, '(40)').
.replace(/㊵/g, '(40)')
replace(/㊶/g, '(41)').
.replace(/㊶/g, '(41)')
replace(/㊷/g, '(42)').
.replace(/㊷/g, '(42)')
replace(/㊸/g, '(43)').
.replace(/㊸/g, '(43)')
replace(/㊹/g, '(44)').
.replace(/㊹/g, '(44)')
replace(/㊺/g, '(45)').
.replace(/㊺/g, '(45)')
replace(/㊻/g, '(46)').
.replace(/㊻/g, '(46)')
replace(/㊼/g, '(47)').
.replace(/㊼/g, '(47)')
replace(/㊽/g, '(48)').
.replace(/㊽/g, '(48)')
replace(/㊾/g, '(49)').
.replace(/㊾/g, '(49)')
replace(/㊿/g, '(50)').
.replace(/㊿/g, '(50)')
// テンプレート
// テンプレート
replace(/{{a/g, '{{A').
.replace(/{{a/g, '{{A')
replace(/{{b/g, '{{B').
.replace(/{{b/g, '{{B')
replace(/{{c/g, '{{C').
.replace(/{{c/g, '{{C')
replace(/{{d/g, '{{D').
.replace(/{{d/g, '{{D')
replace(/{{e/g, '{{E').
.replace(/{{e/g, '{{E')
replace(/{{f/g, '{{F').
.replace(/{{f/g, '{{F')
replace(/{{g/g, '{{G').
.replace(/{{g/g, '{{G')
replace(/{{h/g, '{{H').
.replace(/{{h/g, '{{H')
replace(/{{i/g, '{{I').
.replace(/{{i/g, '{{I')
replace(/{{j/g, '{{J').
.replace(/{{j/g, '{{J')
replace(/{{k/g, '{{K').
.replace(/{{k/g, '{{K')
replace(/{{l/g, '{{L').
.replace(/{{l/g, '{{L')
replace(/{{m/g, '{{M').
.replace(/{{m/g, '{{M')
replace(/{{n/g, '{{N').
.replace(/{{n/g, '{{N')
replace(/{{o/g, '{{O').
.replace(/{{o/g, '{{O')
replace(/{{p/g, '{{P').
.replace(/{{p/g, '{{P')
replace(/{{q/g, '{{Q').
.replace(/{{q/g, '{{Q')
replace(/{{r/g, '{{R').
.replace(/{{r/g, '{{R')
replace(/{{s/g, '{{S').
.replace(/{{s/g, '{{S')
replace(/{{t/g, '{{T').
.replace(/{{t/g, '{{T')
replace(/{{u/g, '{{U').
.replace(/{{u/g, '{{U')
replace(/{{v/g, '{{V').
.replace(/{{v/g, '{{V')
replace(/{{w/g, '{{W').
.replace(/{{w/g, '{{W')
replace(/{{x/g, '{{X').
.replace(/{{x/g, '{{X')
replace(/{{y/g, '{{Y').
.replace(/{{y/g, '{{Y')
replace(/{{z/g, '{{Z').
.replace(/{{z/g, '{{Z')
replace(/{{Tl\|a/g, '{{Tl|A').
.replace(/{{Tl\|a/g, '{{Tl|A')
replace(/{{Tl\|b/g, '{{Tl|B').
.replace(/{{Tl\|b/g, '{{Tl|B')
replace(/{{Tl\|c/g, '{{Tl|C').
.replace(/{{Tl\|c/g, '{{Tl|C')
replace(/{{Tl\|d/g, '{{Tl|D').
.replace(/{{Tl\|d/g, '{{Tl|D')
replace(/{{Tl\|e/g, '{{Tl|E').
.replace(/{{Tl\|e/g, '{{Tl|E')
replace(/{{Tl\|f/g, '{{Tl|F').
.replace(/{{Tl\|f/g, '{{Tl|F')
replace(/{{Tl\|g/g, '{{Tl|G').
.replace(/{{Tl\|g/g, '{{Tl|G')
replace(/{{Tl\|h/g, '{{Tl|H').
.replace(/{{Tl\|h/g, '{{Tl|H')
replace(/{{Tl\|i/g, '{{Tl|I').
.replace(/{{Tl\|i/g, '{{Tl|I')
replace(/{{Tl\|j/g, '{{Tl|J').
.replace(/{{Tl\|j/g, '{{Tl|J')
replace(/{{Tl\|k/g, '{{Tl|K').
.replace(/{{Tl\|k/g, '{{Tl|K')
replace(/{{Tl\|l/g, '{{Tl|L').
.replace(/{{Tl\|l/g, '{{Tl|L')
replace(/{{Tl\|m/g, '{{Tl|M').
.replace(/{{Tl\|m/g, '{{Tl|M')
replace(/{{Tl\|n/g, '{{Tl|N').
.replace(/{{Tl\|n/g, '{{Tl|N')
replace(/{{Tl\|o/g, '{{Tl|O').
.replace(/{{Tl\|o/g, '{{Tl|O')
replace(/{{Tl\|p/g, '{{Tl|P').
.replace(/{{Tl\|p/g, '{{Tl|P')
replace(/{{Tl\|q/g, '{{Tl|Q').
.replace(/{{Tl\|q/g, '{{Tl|Q')
replace(/{{Tl\|r/g, '{{Tl|R').
.replace(/{{Tl\|r/g, '{{Tl|R')
replace(/{{Tl\|s/g, '{{Tl|S').
.replace(/{{Tl\|s/g, '{{Tl|S')
replace(/{{Tl\|t/g, '{{Tl|T').
.replace(/{{Tl\|t/g, '{{Tl|T')
replace(/{{Tl\|u/g, '{{Tl|U').
.replace(/{{Tl\|u/g, '{{Tl|U')
replace(/{{Tl\|v/g, '{{Tl|V').
.replace(/{{Tl\|v/g, '{{Tl|V')
replace(/{{Tl\|w/g, '{{Tl|W').
.replace(/{{Tl\|w/g, '{{Tl|W')
replace(/{{Tl\|x/g, '{{Tl|X').
.replace(/{{Tl\|x/g, '{{Tl|X')
replace(/{{Tl\|y/g, '{{Tl|Y').
.replace(/{{Tl\|y/g, '{{Tl|Y')
replace(/{{Tl\|z/g, '{{Tl|Z').
.replace(/{{Tl\|z/g, '{{Tl|Z')
replace(/{{デフォルトソート:/g, '{{DEFAULTSORT:').
.replace(/{{デフォルトソート:/g, '{{DEFAULTSORT:')
replace(/ISBN ([\d\-X]{10,17})/g, '{{ISBN2|$1}}').
.replace(/ISBN ([\d\-X]{10,17})/g, '{{ISBN2|$1}}')
replace(/PMID ([\d]{1,8})/g, '{{PMID|$1}}').
.replace(/PMID ([\d]{1,8})/g, '{{PMID|$1}}')
replace(/RFC ([\d]{1,4})/g, '{{IETF RFC|$1}}').
.replace(/RFC ([\d]{1,4})/g, '{{IETF RFC|$1}}')
// 空白
// 空白
replace(/ {2,}/g, ' '). //連続する空白を除去
.replace(/ {2,}/g, ' ') //連続する空白を除去
replace(/([^=\-\|]) $/gm, '$1'). //行末の空白を除去
.replace(/([^=\-\|]) $/gm, '$1') //行末の空白を除去
replace(/ 。/g, '。'). //句点の前の空白を除去
.replace(/ 。/g, '。') //句点の前の空白を除去
replace(/([^\-]) 、/g, '$1、'). //読点の前の空白を除去
.replace(/([^\-]) 、/g, '$1、') //読点の前の空白を除去
replace(/。 ([^#\-\|].*?)。/g, '。$1。'). //句点の後の空白を除去(1周目)
.replace(/。 ([^#\-\|].*?)。/g, '。$1。') //句点の後の空白を除去(1周目)
replace(/。 ([^#\-\|].*?)。/g, '。$1。'). //句点の後の空白を除去(2周目)
.replace(/。 ([^#\-\|].*?)。/g, '。$1。') //句点の後の空白を除去(2周目)
replace(/、 ([^\-].*?)、/g, '、$1、'). //読点の後の空白を除去(1周目)
.replace(/、 ([^\-].*?)、/g, '、$1、') //読点の後の空白を除去(1周目)
replace(/、 ([^\-].*?)、/g, '、$1、'). //読点の後の空白を除去(2周目)
.replace(/、 ([^\-].*?)、/g, '、$1、') //読点の後の空白を除去(2周目)
replace(/、 ([^\-].*?)。/g, '、$1。'). //読点の後の空白を除去
.replace(/、 ([^\-].*?)。/g, '、$1。') //読点の後の空白を除去
replace(/(==+)( ?)(.*?)( ?)(==+)/g, '$1 $3 $5'). //見出しに空白を追加
.replace(/(==+)( ?)(.*?)( ?)(==+)/g, '$1 $3 $5') //見出しに空白を追加
// 改行・空行
// 改行・空行
replace(/\n{3,}/g, '\n\n'). //2行以上の空行をトルツメ
.replace(/\n{3,}/g, '\n\n') //2行以上の空行をトルツメ
replace(/==\n\n/g, '==\n'). //見出しの後の空行をトルツメ
.replace(/==\n\n/g, '==\n') //見出しの後の空行をトルツメ
replace(/([^=\n])\n==/g, '$1\n\n=='). //見出しの前に空行を挿入
.replace(/([^=\n])\n==/g, '$1\n\n==') //見出しの前に空行を挿入
replace(/\n\n(===+) 注釈 (===+)/g, '\n$1 注釈 $2'). //レベル3以降の注釈見出しの前の空行をトルツメ
.replace(/\n\n(===+) 注釈 (===+)/g, '\n$1 注釈 $2') //レベル3以降の注釈見出しの前の空行をトルツメ
replace(/\n\n(===+) 出典 (===+)/g, '\n$1 出典 $2'). //レベル3以降の出典見出しの前の空行をトルツメ
.replace(/\n\n(===+) 出典 (===+)/g, '\n$1 出典 $2') //レベル3以降の出典見出しの前の空行をトルツメ
replace(/\[\[File:/g, '[[ファイル:'). //[[ファイル:に変更
.replace(/\[\[File:/g, '[[ファイル:') //[[ファイル:に変更
replace(/([^\n =\|>])\[\[ファイル:/g, '$1\n[[ファイル:'). //[[ファイル:の前に改行を追加
.replace(/([^\n =\|>])\[\[ファイル:/g, '$1\n[[ファイル:') //[[ファイル:の前に改行を追加
// 箇条書き
// 箇条書き
replace(/^(\*+|#+|:+\*|:+#)([^ \*#:;].*?)/gm, '$1 $2'). //箇条書きのあとに空白を追加
.replace(/^(\*+|#+|:+\*|:+#)([^ \*#:;].*?)/gm, '$1 $2') //箇条書きのあとに空白を追加
replace(/^(;|:+;)([^ ].*?)/gm, '$1 $2'). //定義の箇条書き(;)のあとに空白を追加
.replace(/^(;|:+;)([^ ].*?)/gm, '$1 $2') //定義の箇条書き(;)のあとに空白を追加
replace(/^(:+)([^ \*#:;<\n].*?)/gm, '$1 $2'). //定義の箇条書き(:)のあとに空白を追加
.replace(/^(:+)([^ \*#:;<\n].*?)/gm, '$1 $2') //定義の箇条書き(:)のあとに空白を追加
replace(/^([^=\*#:;].*?。)\n(\*|#|;|:)/gm, '$1\n\n$2'). //文章と箇条書きの間に空行を挿入
.replace(/^([^=\*#:;].*?。)\n(\*|#|;|:)/gm, '$1\n\n$2') //文章と箇条書きの間に空行を挿入
replace(/^(\*|#|;|:)(.*?)\n([^\n=\*#:;].*?。)/gm, '$1$2\n\n$3'). //箇条書きと文章の間に空行を挿入
.replace(/^(\*|#|;|:)(.*?)\n([^\n=\*#:;].*?。)/gm, '$1$2\n\n$3') //箇条書きと文章の間に空行を挿入
replace(/^(\*)(.*?)\n\n(\*|#|:)/gm, '$1$2\n$3'). //箇条書きと箇条書きの間の空行をトルツメ(1周目)
.replace(/^(\*)(.*?)\n\n(\*|#|:)/gm, '$1$2\n$3') //箇条書きと箇条書きの間の空行をトルツメ(1周目)
replace(/^(\*)(.*?)\n\n(\*|#|:)/gm, '$1$2\n$3'). //箇条書きと箇条書きの間の空行をトルツメ(2周目)
.replace(/^(\*)(.*?)\n\n(\*|#|:)/gm, '$1$2\n$3') //箇条書きと箇条書きの間の空行をトルツメ(2周目)
replace(/^(#|;|:)(.*?)\n\n(\*|#|;|:)/gm, '$1$2\n$3'). //箇条書きと箇条書きの間の空行をトルツメ(1周目)
.replace(/^(#|;|:)(.*?)\n\n(\*|#|;|:)/gm, '$1$2\n$3') //箇条書きと箇条書きの間の空行をトルツメ(1周目)
replace(/^(#|;|:)(.*?)\n\n(\*|#|;|:)/gm, '$1$2\n$3'). //箇条書きと箇条書きの間の空行をトルツメ(2周目)
.replace(/^(#|;|:)(.*?)\n\n(\*|#|;|:)/gm, '$1$2\n$3') //箇条書きと箇条書きの間の空行をトルツメ(2周目)
// 1行改行
// 1行改行
replace(/。\n([^\n\*#;:<\|].*?)。/g, '。$1。'). //句点の後の1行改行をトルツメ(1周目)
.replace(/。\n([^\n\*#;:<\|].*?)。/g, '。$1。') //句点の後の1行改行をトルツメ(1周目)
replace(/。\n([^\n\*#;:<\|].*?)。/g, '。$1。'). //句点の後の1行改行をトルツメ(2周目)
.replace(/。\n([^\n\*#;:<\|].*?)。/g, '。$1。') //句点の後の1行改行をトルツメ(2周目)
replace(/、\n([^\n\*#;:].*?)/g, '、$1'). //読点の後の1行改行をトルツメ(1周目)
.replace(/、\n([^\n\*#;:].*?)/g, '、$1') //読点の後の1行改行をトルツメ(1周目)
replace(/、\n([^\n\*#;:].*?)/g, '、$1'). //読点の後の1行改行をトルツメ(2周目)
.replace(/、\n([^\n\*#;:].*?)/g, '、$1') //読点の後の1行改行をトルツメ(2周目)
replace(/<br \/>\n([^\n\*#;:].*?)/g, '<br />$1'). //改行タグの後の1行改行をトルツメ(1周目)
.replace(/<br \/>\n([^\n\*#;:].*?)/g, '<br />$1') //改行タグの後の1行改行をトルツメ(1周目)
replace(/<br \/>\n([^\n\*#;:].*?)/g, '<br />$1'). //改行タグの後の1行改行をトルツメ(2周目)
.replace(/<br \/>\n([^\n\*#;:].*?)/g, '<br />$1') //改行タグの後の1行改行をトルツメ(2周目)
// 表・Infobox
// 表・Infobox
replace(/^\|(.*?)\n\n\|/gm, '|$1\n|'). //行頭のバーティカルバーと次の行頭のバーティカルバーの間の空行をトルツメ(1周目)
.replace(/^\|(.*?)\n\n\|/gm, '|$1\n|') //行頭のバーティカルバーと次の行頭のバーティカルバーの間の空行をトルツメ(1周目)
replace(/^\|(.*?)\n\n\|/gm, '|$1\n|'). //行頭のバーティカルバーと次の行頭のバーティカルバーの間の空行をトルツメ(2周目)
.replace(/^\|(.*?)\n\n\|/gm, '|$1\n|') //行頭のバーティカルバーと次の行頭のバーティカルバーの間の空行をトルツメ(2周目)
replace(/^!(.*?)\n\n!/gm, '!$1\n!'). //行頭の感嘆符と次の行頭の感嘆符の間の空行をトルツメ(1周目)
.replace(/^!(.*?)\n\n!/gm, '!$1\n!') //行頭の感嘆符と次の行頭の感嘆符の間の空行をトルツメ(1周目)
replace(/^!(.*?)\n\n!/gm, '!$1\n!'). //行頭の感嘆符と次の行頭の感嘆符の間の空行をトルツメ(2周目)
.replace(/^!(.*?)\n\n!/gm, '!$1\n!') //行頭の感嘆符と次の行頭の感嘆符の間の空行をトルツメ(2周目)
// タグ
// タグ
replace(/<br( ?)>|<br\/>/g, '<br />').
.replace(/<br( ?)>|<br\/>/g, '<br />')
// ウィキリンク
// ウィキリンク
replace(/\[\[(カテゴリ|category):/g, '[[Category:').
.replace(/\[\[(カテゴリ|category):/g, '[[Category:')
// リダイレクト
// リダイレクト
replace(/# REDIRECT/g, '#REDIRECT').
.replace(/# REDIRECT/g, '#REDIRECT')
replace(/# redirect/g, '#redirect').
.replace(/# redirect/g, '#redirect')
replace(/# 転送/g, '#転送').
.replace(/# 転送/g, '#転送')
replace(/#redirect|#転送/g, '#REDIRECT').
.replace(/#redirect|#転送/g, '#REDIRECT')
replace(/#REDIRECT( ?)\[\[/g, '#REDIRECT [[').
.replace(/#REDIRECT( ?)\[\[/g, '#REDIRECT [[')
// 注釈
// 注釈
replace(/group( ?)=( ?)("?)(注釈|注|†|※|\*)("?)/g, 'group="注"'). //group="注"に変更
.replace(/group( ?)=( ?)("?)(注釈|注|†|※|\*)("?)/g, 'group="注"') //group="注"に変更
replace(/{{#tag:ref/g, '{{Refnest'). //{{Refnestに変更
.replace(/{{#tag:ref/g, '{{Refnest') //{{Refnestに変更
replace(/([^\n]){{Refnest\|/g, '$1\n{{Refnest|'). //{{Refnest|の前に改行を追加
.replace(/([^\n]){{Refnest\|/g, '$1\n{{Refnest|') //{{Refnest|の前に改行を追加
replace(/{{Refnest\|(.*?)\|group="注"\|name( ?)=( ?)([^"].*?)( ?)}}/g, '{{Refnest|$1|group="注"|name="$4"}}'). //name引数に二重引用符を追加
.replace(/{{Refnest\|(.*?)\|group="注"\|name( ?)=( ?)([^"].*?)( ?)}}/g, '{{Refnest|$1|group="注"|name="$4"}}') //name引数に二重引用符を追加
replace(/{{Refnest\|(.*?)\|name( ?)=( ?)([^"].*?)( ?)\|group="注"}}/g, '{{Refnest|$1|name="$4"|group="注"}}'). //name引数に二重引用符を追加
.replace(/{{Refnest\|(.*?)\|name( ?)=( ?)([^"].*?)( ?)\|group="注"}}/g, '{{Refnest|$1|name="$4"|group="注"}}') //name引数に二重引用符を追加
replace(/{{Refnest\|group="注"\|(.*?)\|name( ?)=( ?)([^"].*?)( ?)}}/g, '{{Refnest|group="注"|$1|name="$4"}}'). //name引数に二重引用符を追加
.replace(/{{Refnest\|group="注"\|(.*?)\|name( ?)=( ?)([^"].*?)( ?)}}/g, '{{Refnest|group="注"|$1|name="$4"}}') //name引数に二重引用符を追加
replace(/{{Refnest\|name( ?)=( ?)([^"].*?)( ?)\|(.*?)\|group="注"}}/g, '{{Refnest|name="$3"|$5|group="注"}}'). //name引数に二重引用符を追加
.replace(/{{Refnest\|name( ?)=( ?)([^"].*?)( ?)\|(.*?)\|group="注"}}/g, '{{Refnest|name="$3"|$5|group="注"}}') //name引数に二重引用符を追加
replace(/{{Refnest\|group="注"( ?)\|name( ?)=( ?)([^"].*?)( ?)\|/g, '{{Refnest|group="注"|name="$4"|'). //name引数に二重引用符を追加
.replace(/{{Refnest\|group="注"( ?)\|name( ?)=( ?)([^"].*?)( ?)\|/g, '{{Refnest|group="注"|name="$4"|') //name引数に二重引用符を追加
replace(/{{Refnest\|name( ?)=( ?)([^"].*?)( ?)\|group="注"( ?)\|/g, '{{Refnest|name="$3"|group="注"|'). //name引数に二重引用符を追加
.replace(/{{Refnest\|name( ?)=( ?)([^"].*?)( ?)\|group="注"( ?)\|/g, '{{Refnest|name="$3"|group="注"|') //name引数に二重引用符を追加
replace(/{{Refnest\|(.*?)\|group="注"\|name=(.*?)}}/g, '{{Efn2|name=$2|$1}}'). //{{Efn2|name="○○"|○○}}に変更
.replace(/{{Refnest\|(.*?)\|group="注"\|name=(.*?)}}/g, '{{Efn2|name=$2|$1}}') //{{Efn2|name="○○"|○○}}に変更
replace(/{{Refnest\|(.*?)\|name=(.*?)\|group="注"}}/g, '{{Efn2|name=$2|$1}}'). //{{Efn2|name="○○"|○○}}に変更
.replace(/{{Refnest\|(.*?)\|name=(.*?)\|group="注"}}/g, '{{Efn2|name=$2|$1}}') //{{Efn2|name="○○"|○○}}に変更
replace(/{{Refnest\|group="注"\|(.*?)\|name=(.*?)}}/g, '{{Efn2|name=$2|$1}}'). //{{Efn2|name="○○"|○○}}に変更
.replace(/{{Refnest\|group="注"\|(.*?)\|name=(.*?)}}/g, '{{Efn2|name=$2|$1}}') //{{Efn2|name="○○"|○○}}に変更
replace(/{{Refnest\|name=(.*?)\|(.*?)\|group="注"}}/g, '{{Efn2|name=$1|$2}}'). //{{Efn2|name="○○"|○○}}に変更
.replace(/{{Refnest\|name=(.*?)\|(.*?)\|group="注"}}/g, '{{Efn2|name=$1|$2}}') //{{Efn2|name="○○"|○○}}に変更
replace(/{{Refnest\|group="注"\|name=(.*?)\|/g, '{{Efn2|name=$1|'). //{{Efn2|name="○○"|に変更
.replace(/{{Refnest\|group="注"\|name=(.*?)\|/g, '{{Efn2|name=$1|') //{{Efn2|name="○○"|に変更
replace(/{{Refnest\|name=(.*?)\|group="注"\|/g, '{{Efn2|name=$1|'). //{{Efn2|name="○○"|に変更
.replace(/{{Refnest\|name=(.*?)\|group="注"\|/g, '{{Efn2|name=$1|') //{{Efn2|name="○○"|に変更
replace(/{{Refnest\|(.*?)\|group="注"}}/g, '{{Efn2|$1}}'). //{{Efn2|○○}}に変更
.replace(/{{Refnest\|(.*?)\|group="注"}}/g, '{{Efn2|$1}}') //{{Efn2|○○}}に変更
replace(/{{Refnest\|group="注"( ?)\|/g, '{{Efn2|'). //{{Efn2|に変更
.replace(/{{Refnest\|group="注"( ?)\|/g, '{{Efn2|') //{{Efn2|に変更
replace(/{{Refnest/g, '{{Efn2'). //{{Efn2に変更
.replace(/{{Refnest/g, '{{Efn2') //{{Efn2に変更
replace(/{{Efn\|/g, '{{Efn2|'). //{{Efn2|に変更
.replace(/{{Efn\|/g, '{{Efn2|') //{{Efn2|に変更
replace(/([^\n]){{Efn2\|/g, '$1\n{{Efn2|'). //{{Efn2|の前に改行を追加
.replace(/([^\n]){{Efn2\|/g, '$1\n{{Efn2|') //{{Efn2|の前に改行を追加
replace(/{{Efn2\|(.*?)\|name( ?)=( ?)([^"].*?)( ?)}}/g, '{{Efn2|$1|name="$4"}}'). //name引数に二重引用符を追加
.replace(/{{Efn2\|(.*?)\|name( ?)=( ?)([^"].*?)( ?)}}/g, '{{Efn2|$1|name="$4"}}') //name引数に二重引用符を追加
replace(/{{Efn2\|name( ?)=( ?)([^"].*?)( ?)(\||})/g, '{{Efn2|name="$3"$5'). //name引数に二重引用符を追加
.replace(/{{Efn2\|name( ?)=( ?)([^"].*?)( ?)(\||})/g, '{{Efn2|name="$3"$5') //name引数に二重引用符を追加
replace(/{{Efn2\|(.*?)\|name=(.*?)}}/g, '{{Efn2|name=$2|$1}}'). //{{Efn2|name="○○"|○○}}に変更
.replace(/{{Efn2\|(.*?)\|name=(.*?)}}/g, '{{Efn2|name=$2|$1}}') //{{Efn2|name="○○"|○○}}に変更
replace(/([^\n])<ref([>| ])/g, '$1\n<ref$2'). //<ref>の前に改行を追加
.replace(/([^\n])<ref([>| ])/g, '$1\n<ref$2') //<ref>の前に改行を追加
replace(/<ref group="注" name( ?)=( ?)([^"].*?)( ?)>(.*?)<\/ref>/g, '<ref group="注" name="$3">$5</ref>'). //name引数に二重引用符を追加
.replace(/<ref group="注" name( ?)=( ?)([^"].*?)( ?)>(.*?)<\/ref>/g, '<ref group="注" name="$3">$5</ref>') //name引数に二重引用符を追加
replace(/<ref name( ?)=( ?)([^"].*?) group="注">(.*?)<\/ref>/g, '<ref name="$3" group="注">$4</ref>'). //name引数に二重引用符を追加
.replace(/<ref name( ?)=( ?)([^"].*?) group="注">(.*?)<\/ref>/g, '<ref name="$3" group="注">$4</ref>') //name引数に二重引用符を追加
replace(/<ref group="注" name( ?)=( ?)([^"].*?)( ?)\/>/g, '<ref group="注" name="$3" />'). //name引数に二重引用符を追加
.replace(/<ref group="注" name( ?)=( ?)([^"].*?)( ?)\/>/g, '<ref group="注" name="$3" />') //name引数に二重引用符を追加
replace(/<ref name( ?)=( ?)([^"].*?) group="注"( ?)\/>/g, '<ref name="$3" group="注" />'). //name引数に二重引用符を追加
.replace(/<ref name( ?)=( ?)([^"].*?) group="注"( ?)\/>/g, '<ref name="$3" group="注" />') //name引数に二重引用符を追加
replace(/<ref group="注"( ?)name=(".*?")>(.*?)<\/ref>/g, '{{Efn2|name=$2|$3}}'). //{{Efn2|name="○○"|○○}}に変更
.replace(/<ref group="注"( ?)name=(".*?")>(.*?)<\/ref>/g, '{{Efn2|name=$2|$3}}') //{{Efn2|name="○○"|○○}}に変更
replace(/<ref name=(".*?")( ?)group="注">(.*?)<\/ref>/g, '{{Efn2|name=$1|$3}}'). //{{Efn2|name="○○"|○○}}に変更
.replace(/<ref name=(".*?")( ?)group="注">(.*?)<\/ref>/g, '{{Efn2|name=$1|$3}}') //{{Efn2|name="○○"|○○}}に変更
replace(/<ref group="注"( ?)name( ?)=( ?)(".*?")( ?)\/>/g, '{{Efn2|name=$4}}'). //{{Efn2|name="○○"}}に変更
.replace(/<ref group="注"( ?)name( ?)=( ?)(".*?")( ?)\/>/g, '{{Efn2|name=$4}}') //{{Efn2|name="○○"}}に変更
replace(/<ref name( ?)=( ?)(".*?")( ?)group="注"( ?)\/>/g, '{{Efn2|name=$3}}'). //{{Efn2|name="○○"}}に変更
.replace(/<ref name( ?)=( ?)(".*?")( ?)group="注"( ?)\/>/g, '{{Efn2|name=$3}}') //{{Efn2|name="○○"}}に変更
replace(/<ref group="注"( ?)>(.*?)<\/ref>/g, '{{Efn2|$2}}'). //{{Efn2|○○}}に変更
.replace(/<ref group="注"( ?)>(.*?)<\/ref>/g, '{{Efn2|$2}}') //{{Efn2|○○}}に変更
replace(/([^\n])\n<ref([>| ])/g, '$1<ref$2'). //<ref>の前の改行を除去
.replace(/([^\n])\n<ref([>| ])/g, '$1<ref$2') //<ref>の前の改行を除去
replace(/([^\n])\n{{Efn2\|/g, '$1{{Efn2|'). //{{Efn2|の前の改行を除去
.replace(/([^\n])\n{{Efn2\|/g, '$1{{Efn2|') //{{Efn2|の前の改行を除去
// 出典
// 出典
replace(/([^\n])<ref([>| ])/g, '$1\n<ref$2'). //<ref>の前に改行を追加
.replace(/([^\n])<ref([>| ])/g, '$1\n<ref$2') //<ref>の前に改行を追加
replace(/<ref name( ?)=( ?)([^"].*?)( ?)>(.*?)<\/ref>/g, '<ref name="$3">$5</ref>'). //name引数に二重引用符を追加
.replace(/<ref name( ?)=( ?)([^"].*?)( ?)>(.*?)<\/ref>/g, '<ref name="$3">$5</ref>') //name引数に二重引用符を追加
replace(/<ref name( ?)=( ?)([^"].*?)( ?)\/>/g, '<ref name="$3" />'). //name引数に二重引用符を追加
.replace(/<ref name( ?)=( ?)([^"].*?)( ?)\/>/g, '<ref name="$3" />') //name引数に二重引用符を追加
replace(/<ref name( ?)=( ?)"(.*?)"( ?)\/>/g, '{{R|$3}}'). //{{R|○○}}に変更
.replace(/<ref name( ?)=( ?)"(.*?)"( ?)\/>/g, '{{R|$3}}') //{{R|○○}}に変更
replace(/([^\n])\n<ref([>| ])/g, '$1<ref$2'). //<ref>の前の改行を除去
.replace(/([^\n])\n<ref([>| ])/g, '$1<ref$2') //<ref>の前の改行を除去
replace(/([^\n])\n{{R\|/g, '$1{{R|'). //{{R|の前の改行を除去
.replace(/([^\n])\n{{R\|/g, '$1{{R|') //{{R|の前の改行を除去
// 脚注
// 脚注
replace(/<references( ?)\/>/g, '{{Reflist}}').
.replace(/<references( ?)\/>/g, '{{Reflist}}')
replace(/<references group="注"( ?)\/>/g, '{{Notelist2}}').
.replace(/<references group="注"( ?)\/>/g, '{{Notelist2}}')
replace(/{{Reflist\|\|group="注"}}/g, '{{Reflist|group="注"|}}').
.replace(/{{Reflist\|\|group="注"}}/g, '{{Reflist|group="注"|}}')
replace(/{{Reflist\|([0-9])\|group="注"}}/g, '{{Reflist|group="注"|$1}}').
.replace(/{{Reflist\|([0-9])\|group="注"}}/g, '{{Reflist|group="注"|$1}}')
replace(/{{Reflist\|colwidth=/g, '{{Reflist|').
.replace(/{{Reflist\|colwidth=/g, '{{Reflist|')
replace(/{{Reflist\|em\|group="注"}}/g, '{{Reflist|group="注"|em}}').
.replace(/{{Reflist\|em\|group="注"}}/g, '{{Reflist|group="注"|em}}')
replace(/{{Reflist\|([0-9]|[1-9][0-9])em\|group="注"}}/g, '{{Reflist|group="注"|$1em}}').
.replace(/{{Reflist\|([0-9]|[1-9][0-9])em\|group="注"}}/g, '{{Reflist|group="注"|$1em}}')
replace(/{{Reflist\|group="注"}}/g, '{{Notelist2}}').
.replace(/{{Reflist\|group="注"}}/g, '{{Notelist2}}')
replace(/{{Reflist\|group="注"\|/g, '{{Notelist2|').
.replace(/{{Reflist\|group="注"\|/g, '{{Notelist2|')
replace(/{{Notelist}}/g, '{{Notelist2}}').
.replace(/{{Notelist}}/g, '{{Notelist2}}')
replace(/{{Notelist\|/g, '{{Notelist2|').
.replace(/{{Notelist\|/g, '{{Notelist2|')
replace(/list\|colwidth=/g, 'list|').
.replace(/list\|colwidth=/g, 'list|')
replace(/list2\|colwidth=/g, 'list2|').
.replace(/list2\|colwidth=/g, 'list2|')
replace(/{{Reflist\|}}/g, '{{Reflist}}').
.replace(/{{Reflist\|}}/g, '{{Reflist}}')
replace(/{{Reflist\|[0-1]}}/g, '{{Reflist}}').
.replace(/{{Reflist\|[0-1]}}/g, '{{Reflist}}')
replace(/{{Reflist\|2}}/g, '{{Reflist|30em}}').
.replace(/{{Reflist\|2}}/g, '{{Reflist|30em}}')
replace(/{{Reflist\|[3-9]}}/g, '{{Reflist|20em}}').
.replace(/{{Reflist\|[3-9]}}/g, '{{Reflist|20em}}')
replace(/{{Notelist2\|}}/g, '{{Notelist2}}').
.replace(/{{Notelist2\|}}/g, '{{Notelist2}}')
replace(/{{Notelist2\|[0-1]}}/g, '{{Notelist2}}').
.replace(/{{Notelist2\|[0-1]}}/g, '{{Notelist2}}')
replace(/{{Notelist2\|2}}/g, '{{Notelist2|30em}}').
.replace(/{{Notelist2\|2}}/g, '{{Notelist2|30em}}')
replace(/{{Notelist2\|[3-9]}}/g, '{{Notelist2|20em}}').
.replace(/{{Notelist2\|[3-9]}}/g, '{{Notelist2|20em}}')
replace(/{{Reflist\|em}}/g, '{{Reflist}}').
.replace(/{{Reflist\|em}}/g, '{{Reflist}}')
replace(/{{Reflist\|([0-9]|1?[0-9]|2?[0-4])em}}/g, '{{Reflist|20em}}').
.replace(/{{Reflist\|([0-9]|1?[0-9]|2?[0-4])em}}/g, '{{Reflist|20em}}')
replace(/{{Reflist\|(2?[5-9]|[3-9][0-9])em}}/g, '{{Reflist|30em}}').
.replace(/{{Reflist\|(2?[5-9]|[3-9][0-9])em}}/g, '{{Reflist|30em}}')
replace(/{{Notelist2\|em}}/g, '{{Notelist2}}').
.replace(/{{Notelist2\|em}}/g, '{{Notelist2}}')
replace(/{{Notelist2\|([0-9]|1?[0-9]|2?[0-4])em}}/g, '{{Notelist2|20em}}').
.replace(/{{Notelist2\|([0-9]|1?[0-9]|2?[0-4])em}}/g, '{{Notelist2|20em}}')
replace(/{{Notelist2\|(2?[5-9]|[3-9][0-9])em}}/g, '{{Notelist2|30em}}');
.replace(/{{Notelist2\|(2?[5-9]|[3-9][0-9])em}}/g, '{{Notelist2|30em}}');


sel.Text = s2;
sel.Text = s;
</syntaxhighlight>
</syntaxhighlight>

2026年3月10日 (火) 00:08時点における版

Wikipediaの記事を標準的なマークアップや表記方法で修正します。

構文ファイルのWikitextと併用すると便利です。

注意事項

  • このマクロはウィキペディア日本語版の記事での動作を想定しています。他言語版や記事以外のページは動作対象外です。
  • ソースコードをコピーする前にエディターの編集モードが「ソースの編集」になっていることを確認してください。もし、編集モードが「ビジュアル編集」になっている場合は、「ソースの編集」に切り替えてからソースコードをコピーしてください。
  • 記事のソースコードの書き方によっては想定外の修正をしてしまう可能性がありますので、マクロを実行した後は必ずWikipedia上のプレビュー画面と差分画面の両方で問題がないことを確認してから投稿してください。

使用方法

  1. 修正したい記事の上部にある「編集」または「ソースを編集」ボタンをクリックして、ソースエディター内のソースコードを全選択してコピーした後、Meryにペーストします。
  2. 修正したいソースコードのタブがアクティブになっている状態でマクロを実行します。
  3. 修正したソースコードを全選択してコピーした後、ソースエディター内のソースコードを全選択した状態でペーストして上書きします。
  4. 「プレビューを表示」または「差分を表示」ボタンをクリックして、プレビュー画面または差分画面で修正箇所を確認します。問題がなければ、「編集内容の要約」に編集した内容の要約を記入した後、「変更を公開」ボタンをクリックして修正した記事を投稿します。

出典

ソースコード

#title = "Wikipediaマークアップ修正"
#tooltip = "Wikipediaのマークアップや表記を修正します。"

var sel = document.selection;

// 未選択なら全文選択
if (sel.Text == "") {
	sel.SelectAll();
}

var s = sel.Text;

s = s
	// 全角空白
	.replace(/ /g, ' ')
	// 全角記号
	.replace(/$/g, '$')
	.replace(/%/g, '%')
	.replace(/&/g, '&')
	.replace(/*/g, '*')
	.replace(/+/g, '+')
	.replace(/,/g, ',')
	.replace(/-/g, '-')
	.replace(/./g, '.')
	.replace(///g, '/')
	.replace(/;/g, ';')
	.replace(/</g, '<')
	.replace(/>/g, '>')
	.replace(/@/g, '@')
	.replace(/¥/g, '\\')
	.replace(/^/g, '^')
	.replace(/_/g, '_')
	.replace(/`/g, '`')
	// 全角英数
	.replace(/0/g, '0')
	.replace(/1/g, '1')
	.replace(/2/g, '2')
	.replace(/3/g, '3')
	.replace(/4/g, '4')
	.replace(/5/g, '5')
	.replace(/6/g, '6')
	.replace(/7/g, '7')
	.replace(/8/g, '8')
	.replace(/9/g, '9')
	.replace(/A/g, 'A')
	.replace(/B/g, 'B')
	.replace(/C/g, 'C')
	.replace(/D/g, 'D')
	.replace(/E/g, 'E')
	.replace(/F/g, 'F')
	.replace(/G/g, 'G')
	.replace(/H/g, 'H')
	.replace(/I/g, 'I')
	.replace(/J/g, 'J')
	.replace(/K/g, 'K')
	.replace(/L/g, 'L')
	.replace(/M/g, 'M')
	.replace(/N/g, 'N')
	.replace(/O/g, 'O')
	.replace(/P/g, 'P')
	.replace(/Q/g, 'Q')
	.replace(/R/g, 'R')
	.replace(/S/g, 'S')
	.replace(/T/g, 'T')
	.replace(/U/g, 'U')
	.replace(/V/g, 'V')
	.replace(/W/g, 'W')
	.replace(/X/g, 'X')
	.replace(/Y/g, 'Y')
	.replace(/Z/g, 'Z')
	.replace(/a/g, 'a')
	.replace(/b/g, 'b')
	.replace(/c/g, 'c')
	.replace(/d/g, 'd')
	.replace(/e/g, 'e')
	.replace(/f/g, 'f')
	.replace(/g/g, 'g')
	.replace(/h/g, 'h')
	.replace(/i/g, 'i')
	.replace(/j/g, 'j')
	.replace(/k/g, 'k')
	.replace(/l/g, 'l')
	.replace(/m/g, 'm')
	.replace(/n/g, 'n')
	.replace(/o/g, 'o')
	.replace(/p/g, 'p')
	.replace(/q/g, 'q')
	.replace(/r/g, 'r')
	.replace(/s/g, 's')
	.replace(/t/g, 't')
	.replace(/u/g, 'u')
	.replace(/v/g, 'v')
	.replace(/w/g, 'w')
	.replace(/x/g, 'x')
	.replace(/y/g, 'y')
	.replace(/z/g, 'z')
	// 半角カナ
	.replace(/。/g, '。')
	.replace(/「/g, '「')
	.replace(/」/g, '」')
	.replace(/、/g, '、')
	.replace(/・/g, '・')
	.replace(/ガ/g, 'ガ')
	.replace(/ギ/g, 'ギ')
	.replace(/グ/g, 'グ')
	.replace(/ゲ/g, 'ゲ')
	.replace(/ゴ/g, 'ゴ')
	.replace(/ザ/g, 'ザ')
	.replace(/ジ/g, 'ジ')
	.replace(/ズ/g, 'ズ')
	.replace(/ゼ/g, 'ゼ')
	.replace(/ゾ/g, 'ゾ')
	.replace(/ダ/g, 'ダ')
	.replace(/ヂ/g, 'ヂ')
	.replace(/ヅ/g, 'ヅ')
	.replace(/デ/g, 'デ')
	.replace(/ド/g, 'ド')
	.replace(/バ/g, 'バ')
	.replace(/ビ/g, 'ビ')
	.replace(/ブ/g, 'ブ')
	.replace(/ベ/g, 'ベ')
	.replace(/ボ/g, 'ボ')
	.replace(/パ/g, 'パ')
	.replace(/ピ/g, 'ピ')
	.replace(/プ/g, 'プ')
	.replace(/ペ/g, 'ペ')
	.replace(/ポ/g, 'ポ')
	.replace(/ヴ/g, 'ヴ')
	.replace(/ヲ/g, 'ヲ')
	.replace(/ァ/g, 'ァ')
	.replace(/ィ/g, 'ィ')
	.replace(/ゥ/g, 'ゥ')
	.replace(/ェ/g, 'ェ')
	.replace(/ォ/g, 'ォ')
	.replace(/ャ/g, 'ャ')
	.replace(/ュ/g, 'ュ')
	.replace(/ョ/g, 'ョ')
	.replace(/ッ/g, 'ッ')
	.replace(/ー/g, 'ー')
	.replace(/ア/g, 'ア')
	.replace(/イ/g, 'イ')
	.replace(/ウ/g, 'ウ')
	.replace(/エ/g, 'エ')
	.replace(/オ/g, 'オ')
	.replace(/カ/g, 'カ')
	.replace(/キ/g, 'キ')
	.replace(/ク/g, 'ク')
	.replace(/ケ/g, 'ケ')
	.replace(/コ/g, 'コ')
	.replace(/サ/g, 'サ')
	.replace(/シ/g, 'シ')
	.replace(/ス/g, 'ス')
	.replace(/セ/g, 'セ')
	.replace(/ソ/g, 'ソ')
	.replace(/タ/g, 'タ')
	.replace(/チ/g, 'チ')
	.replace(/ツ/g, 'ツ')
	.replace(/テ/g, 'テ')
	.replace(/ト/g, 'ト')
	.replace(/ナ/g, 'ナ')
	.replace(/ニ/g, 'ニ')
	.replace(/ヌ/g, 'ヌ')
	.replace(/ネ/g, 'ネ')
	.replace(/ノ/g, 'ノ')
	.replace(/ハ/g, 'ハ')
	.replace(/ヒ/g, 'ヒ')
	.replace(/フ/g, 'フ')
	.replace(/ヘ/g, 'ヘ')
	.replace(/ホ/g, 'ホ')
	.replace(/マ/g, 'マ')
	.replace(/ミ/g, 'ミ')
	.replace(/ム/g, 'ム')
	.replace(/メ/g, 'メ')
	.replace(/モ/g, 'モ')
	.replace(/ヤ/g, 'ヤ')
	.replace(/ユ/g, 'ユ')
	.replace(/ヨ/g, 'ヨ')
	.replace(/ラ/g, 'ラ')
	.replace(/リ/g, 'リ')
	.replace(/ル/g, 'ル')
	.replace(/レ/g, 'レ')
	.replace(/ロ/g, 'ロ')
	.replace(/ワ/g, 'ワ')
	.replace(/ン/g, 'ン')
	.replace(/゙/g, '゛')
	.replace(/゚/g, '゜')
	// 約物
	.replace(/。。。|、、、/g, '…')
	.replace(/・・・/g, '…')
	.replace(/!!/g, '!!')
	.replace(/!?/g, '!?')
	.replace(/?!/g, '?!')
	.replace(/??/g, '??')
	.replace(/([^\/])(~|~)/g, '$1〜') //全角チルダ(U+FF5E)やチルダ(U+007E)を波ダッシュ(U+301C)に変更
	.replace(/‥/g, '…')
	.replace(/〇|◯/g, '○') //漢数字のゼロ「〇」や大きな丸「◯」を丸「○」に変更
	// ローマ数字
	.replace(/Ⅰ/g, 'I')
	.replace(/Ⅱ/g, 'II')
	.replace(/Ⅲ/g, 'III')
	.replace(/Ⅳ/g, 'IV')
	.replace(/Ⅴ/g, 'V')
	.replace(/Ⅵ/g, 'VI')
	.replace(/Ⅶ/g, 'VII')
	.replace(/Ⅷ/g, 'VIII')
	.replace(/Ⅸ/g, 'IX')
	.replace(/Ⅹ/g, 'X')
	.replace(/Ⅺ/g, 'XI')
	.replace(/Ⅻ/g, 'XII')
	.replace(/ⅰ/g, 'i')
	.replace(/ⅱ/g, 'ii')
	.replace(/ⅲ/g, 'iii')
	.replace(/ⅳ/g, 'iv')
	.replace(/ⅴ/g, 'v')
	.replace(/ⅵ/g, 'vi')
	.replace(/ⅶ/g, 'vii')
	.replace(/ⅷ/g, 'viii')
	.replace(/ⅸ/g, 'ix')
	.replace(/ⅹ/g, 'x')
	.replace(/ⅺ/g, 'xi')
	.replace(/ⅻ/g, 'xii')
	// 丸数字
	.replace(/①/g, '(1)')
	.replace(/②/g, '(2)')
	.replace(/③/g, '(3)')
	.replace(/④/g, '(4)')
	.replace(/⑤/g, '(5)')
	.replace(/⑥/g, '(6)')
	.replace(/⑦/g, '(7)')
	.replace(/⑧/g, '(8)')
	.replace(/⑨/g, '(9)')
	.replace(/⑩/g, '(10)')
	.replace(/⑪/g, '(11)')
	.replace(/⑫/g, '(12)')
	.replace(/⑬/g, '(13)')
	.replace(/⑭/g, '(14)')
	.replace(/⑮/g, '(15)')
	.replace(/⑯/g, '(16)')
	.replace(/⑰/g, '(17)')
	.replace(/⑱/g, '(18)')
	.replace(/⑲/g, '(19)')
	.replace(/⑳/g, '(20)')
	.replace(/㉑/g, '(21)')
	.replace(/㉒/g, '(22)')
	.replace(/㉓/g, '(23)')
	.replace(/㉔/g, '(24)')
	.replace(/㉕/g, '(25)')
	.replace(/㉖/g, '(26)')
	.replace(/㉗/g, '(27)')
	.replace(/㉘/g, '(28)')
	.replace(/㉙/g, '(29)')
	.replace(/㉚/g, '(30)')
	.replace(/㉛/g, '(31)')
	.replace(/㉜/g, '(32)')
	.replace(/㉝/g, '(33)')
	.replace(/㉞/g, '(34)')
	.replace(/㉟/g, '(35)')
	.replace(/㊱/g, '(36)')
	.replace(/㊲/g, '(37)')
	.replace(/㊳/g, '(38)')
	.replace(/㊴/g, '(39)')
	.replace(/㊵/g, '(40)')
	.replace(/㊶/g, '(41)')
	.replace(/㊷/g, '(42)')
	.replace(/㊸/g, '(43)')
	.replace(/㊹/g, '(44)')
	.replace(/㊺/g, '(45)')
	.replace(/㊻/g, '(46)')
	.replace(/㊼/g, '(47)')
	.replace(/㊽/g, '(48)')
	.replace(/㊾/g, '(49)')
	.replace(/㊿/g, '(50)')
	// テンプレート
	.replace(/{{a/g, '{{A')
	.replace(/{{b/g, '{{B')
	.replace(/{{c/g, '{{C')
	.replace(/{{d/g, '{{D')
	.replace(/{{e/g, '{{E')
	.replace(/{{f/g, '{{F')
	.replace(/{{g/g, '{{G')
	.replace(/{{h/g, '{{H')
	.replace(/{{i/g, '{{I')
	.replace(/{{j/g, '{{J')
	.replace(/{{k/g, '{{K')
	.replace(/{{l/g, '{{L')
	.replace(/{{m/g, '{{M')
	.replace(/{{n/g, '{{N')
	.replace(/{{o/g, '{{O')
	.replace(/{{p/g, '{{P')
	.replace(/{{q/g, '{{Q')
	.replace(/{{r/g, '{{R')
	.replace(/{{s/g, '{{S')
	.replace(/{{t/g, '{{T')
	.replace(/{{u/g, '{{U')
	.replace(/{{v/g, '{{V')
	.replace(/{{w/g, '{{W')
	.replace(/{{x/g, '{{X')
	.replace(/{{y/g, '{{Y')
	.replace(/{{z/g, '{{Z')
	.replace(/{{Tl\|a/g, '{{Tl|A')
	.replace(/{{Tl\|b/g, '{{Tl|B')
	.replace(/{{Tl\|c/g, '{{Tl|C')
	.replace(/{{Tl\|d/g, '{{Tl|D')
	.replace(/{{Tl\|e/g, '{{Tl|E')
	.replace(/{{Tl\|f/g, '{{Tl|F')
	.replace(/{{Tl\|g/g, '{{Tl|G')
	.replace(/{{Tl\|h/g, '{{Tl|H')
	.replace(/{{Tl\|i/g, '{{Tl|I')
	.replace(/{{Tl\|j/g, '{{Tl|J')
	.replace(/{{Tl\|k/g, '{{Tl|K')
	.replace(/{{Tl\|l/g, '{{Tl|L')
	.replace(/{{Tl\|m/g, '{{Tl|M')
	.replace(/{{Tl\|n/g, '{{Tl|N')
	.replace(/{{Tl\|o/g, '{{Tl|O')
	.replace(/{{Tl\|p/g, '{{Tl|P')
	.replace(/{{Tl\|q/g, '{{Tl|Q')
	.replace(/{{Tl\|r/g, '{{Tl|R')
	.replace(/{{Tl\|s/g, '{{Tl|S')
	.replace(/{{Tl\|t/g, '{{Tl|T')
	.replace(/{{Tl\|u/g, '{{Tl|U')
	.replace(/{{Tl\|v/g, '{{Tl|V')
	.replace(/{{Tl\|w/g, '{{Tl|W')
	.replace(/{{Tl\|x/g, '{{Tl|X')
	.replace(/{{Tl\|y/g, '{{Tl|Y')
	.replace(/{{Tl\|z/g, '{{Tl|Z')
	.replace(/{{デフォルトソート:/g, '{{DEFAULTSORT:')
	.replace(/ISBN ([\d\-X]{10,17})/g, '{{ISBN2|$1}}')
	.replace(/PMID ([\d]{1,8})/g, '{{PMID|$1}}')
	.replace(/RFC ([\d]{1,4})/g, '{{IETF RFC|$1}}')
	// 空白
	.replace(/ {2,}/g, ' ') //連続する空白を除去
	.replace(/([^=\-\|]) $/gm, '$1') //行末の空白を除去
	.replace(/ 。/g, '。') //句点の前の空白を除去
	.replace(/([^\-]) 、/g, '$1、') //読点の前の空白を除去
	.replace(/。 ([^#\-\|].*?)。/g, '。$1。') //句点の後の空白を除去(1周目)
	.replace(/。 ([^#\-\|].*?)。/g, '。$1。') //句点の後の空白を除去(2周目)
	.replace(/、 ([^\-].*?)、/g, '、$1、') //読点の後の空白を除去(1周目)
	.replace(/、 ([^\-].*?)、/g, '、$1、') //読点の後の空白を除去(2周目)
	.replace(/、 ([^\-].*?)。/g, '、$1。') //読点の後の空白を除去
	.replace(/(==+)( ?)(.*?)( ?)(==+)/g, '$1 $3 $5') //見出しに空白を追加
	// 改行・空行
	.replace(/\n{3,}/g, '\n\n') //2行以上の空行をトルツメ
	.replace(/==\n\n/g, '==\n') //見出しの後の空行をトルツメ
	.replace(/([^=\n])\n==/g, '$1\n\n==') //見出しの前に空行を挿入
	.replace(/\n\n(===+) 注釈 (===+)/g, '\n$1 注釈 $2') //レベル3以降の注釈見出しの前の空行をトルツメ
	.replace(/\n\n(===+) 出典 (===+)/g, '\n$1 出典 $2') //レベル3以降の出典見出しの前の空行をトルツメ
	.replace(/\[\[File:/g, '[[ファイル:') //[[ファイル:に変更
	.replace(/([^\n =\|>])\[\[ファイル:/g, '$1\n[[ファイル:') //[[ファイル:の前に改行を追加
	// 箇条書き
	.replace(/^(\*+|#+|:+\*|:+#)([^ \*#:;].*?)/gm, '$1 $2') //箇条書きのあとに空白を追加
	.replace(/^(;|:+;)([^ ].*?)/gm, '$1 $2') //定義の箇条書き(;)のあとに空白を追加
	.replace(/^(:+)([^ \*#:;<\n].*?)/gm, '$1 $2') //定義の箇条書き(:)のあとに空白を追加
	.replace(/^([^=\*#:;].*?。)\n(\*|#|;|:)/gm, '$1\n\n$2') //文章と箇条書きの間に空行を挿入
	.replace(/^(\*|#|;|:)(.*?)\n([^\n=\*#:;].*?。)/gm, '$1$2\n\n$3') //箇条書きと文章の間に空行を挿入
	.replace(/^(\*)(.*?)\n\n(\*|#|:)/gm, '$1$2\n$3') //箇条書きと箇条書きの間の空行をトルツメ(1周目)
	.replace(/^(\*)(.*?)\n\n(\*|#|:)/gm, '$1$2\n$3') //箇条書きと箇条書きの間の空行をトルツメ(2周目)
	.replace(/^(#|;|:)(.*?)\n\n(\*|#|;|:)/gm, '$1$2\n$3') //箇条書きと箇条書きの間の空行をトルツメ(1周目)
	.replace(/^(#|;|:)(.*?)\n\n(\*|#|;|:)/gm, '$1$2\n$3') //箇条書きと箇条書きの間の空行をトルツメ(2周目)
	// 1行改行
	.replace(/。\n([^\n\*#;:<\|].*?)。/g, '。$1。') //句点の後の1行改行をトルツメ(1周目)
	.replace(/。\n([^\n\*#;:<\|].*?)。/g, '。$1。') //句点の後の1行改行をトルツメ(2周目)
	.replace(/、\n([^\n\*#;:].*?)/g, '、$1') //読点の後の1行改行をトルツメ(1周目)
	.replace(/、\n([^\n\*#;:].*?)/g, '、$1') //読点の後の1行改行をトルツメ(2周目)
	.replace(/<br \/>\n([^\n\*#;:].*?)/g, '<br />$1') //改行タグの後の1行改行をトルツメ(1周目)
	.replace(/<br \/>\n([^\n\*#;:].*?)/g, '<br />$1') //改行タグの後の1行改行をトルツメ(2周目)
	// 表・Infobox
	.replace(/^\|(.*?)\n\n\|/gm, '|$1\n|') //行頭のバーティカルバーと次の行頭のバーティカルバーの間の空行をトルツメ(1周目)
	.replace(/^\|(.*?)\n\n\|/gm, '|$1\n|') //行頭のバーティカルバーと次の行頭のバーティカルバーの間の空行をトルツメ(2周目)
	.replace(/^!(.*?)\n\n!/gm, '!$1\n!') //行頭の感嘆符と次の行頭の感嘆符の間の空行をトルツメ(1周目)
	.replace(/^!(.*?)\n\n!/gm, '!$1\n!') //行頭の感嘆符と次の行頭の感嘆符の間の空行をトルツメ(2周目)
	// タグ
	.replace(/<br( ?)>|<br\/>/g, '<br />')
	// ウィキリンク
	.replace(/\[\[(カテゴリ|category):/g, '[[Category:')
	// リダイレクト
	.replace(/# REDIRECT/g, '#REDIRECT')
	.replace(/# redirect/g, '#redirect')
	.replace(/# 転送/g, '#転送')
	.replace(/#redirect|#転送/g, '#REDIRECT')
	.replace(/#REDIRECT( ?)\[\[/g, '#REDIRECT [[')
	// 注釈
	.replace(/group( ?)=( ?)("?)(注釈|注|†|※|\*)("?)/g, 'group="注"') //group="注"に変更
	.replace(/{{#tag:ref/g, '{{Refnest') //{{Refnestに変更
	.replace(/([^\n]){{Refnest\|/g, '$1\n{{Refnest|') //{{Refnest|の前に改行を追加
	.replace(/{{Refnest\|(.*?)\|group="注"\|name( ?)=( ?)([^"].*?)( ?)}}/g, '{{Refnest|$1|group="注"|name="$4"}}') //name引数に二重引用符を追加
	.replace(/{{Refnest\|(.*?)\|name( ?)=( ?)([^"].*?)( ?)\|group="注"}}/g, '{{Refnest|$1|name="$4"|group="注"}}') //name引数に二重引用符を追加
	.replace(/{{Refnest\|group="注"\|(.*?)\|name( ?)=( ?)([^"].*?)( ?)}}/g, '{{Refnest|group="注"|$1|name="$4"}}') //name引数に二重引用符を追加
	.replace(/{{Refnest\|name( ?)=( ?)([^"].*?)( ?)\|(.*?)\|group="注"}}/g, '{{Refnest|name="$3"|$5|group="注"}}') //name引数に二重引用符を追加
	.replace(/{{Refnest\|group="注"( ?)\|name( ?)=( ?)([^"].*?)( ?)\|/g, '{{Refnest|group="注"|name="$4"|') //name引数に二重引用符を追加
	.replace(/{{Refnest\|name( ?)=( ?)([^"].*?)( ?)\|group="注"( ?)\|/g, '{{Refnest|name="$3"|group="注"|') //name引数に二重引用符を追加
	.replace(/{{Refnest\|(.*?)\|group="注"\|name=(.*?)}}/g, '{{Efn2|name=$2|$1}}') //{{Efn2|name="○○"|○○}}に変更
	.replace(/{{Refnest\|(.*?)\|name=(.*?)\|group="注"}}/g, '{{Efn2|name=$2|$1}}') //{{Efn2|name="○○"|○○}}に変更
	.replace(/{{Refnest\|group="注"\|(.*?)\|name=(.*?)}}/g, '{{Efn2|name=$2|$1}}') //{{Efn2|name="○○"|○○}}に変更
	.replace(/{{Refnest\|name=(.*?)\|(.*?)\|group="注"}}/g, '{{Efn2|name=$1|$2}}') //{{Efn2|name="○○"|○○}}に変更
	.replace(/{{Refnest\|group="注"\|name=(.*?)\|/g, '{{Efn2|name=$1|') //{{Efn2|name="○○"|に変更
	.replace(/{{Refnest\|name=(.*?)\|group="注"\|/g, '{{Efn2|name=$1|') //{{Efn2|name="○○"|に変更
	.replace(/{{Refnest\|(.*?)\|group="注"}}/g, '{{Efn2|$1}}') //{{Efn2|○○}}に変更
	.replace(/{{Refnest\|group="注"( ?)\|/g, '{{Efn2|') //{{Efn2|に変更
	.replace(/{{Refnest/g, '{{Efn2') //{{Efn2に変更
	.replace(/{{Efn\|/g, '{{Efn2|') //{{Efn2|に変更
	.replace(/([^\n]){{Efn2\|/g, '$1\n{{Efn2|') //{{Efn2|の前に改行を追加
	.replace(/{{Efn2\|(.*?)\|name( ?)=( ?)([^"].*?)( ?)}}/g, '{{Efn2|$1|name="$4"}}') //name引数に二重引用符を追加
	.replace(/{{Efn2\|name( ?)=( ?)([^"].*?)( ?)(\||})/g, '{{Efn2|name="$3"$5') //name引数に二重引用符を追加
	.replace(/{{Efn2\|(.*?)\|name=(.*?)}}/g, '{{Efn2|name=$2|$1}}') //{{Efn2|name="○○"|○○}}に変更
	.replace(/([^\n])<ref([>| ])/g, '$1\n<ref$2') //<ref>の前に改行を追加
	.replace(/<ref group="注" name( ?)=( ?)([^"].*?)( ?)>(.*?)<\/ref>/g, '<ref group="注" name="$3">$5</ref>') //name引数に二重引用符を追加
	.replace(/<ref name( ?)=( ?)([^"].*?) group="注">(.*?)<\/ref>/g, '<ref name="$3" group="注">$4</ref>') //name引数に二重引用符を追加
	.replace(/<ref group="注" name( ?)=( ?)([^"].*?)( ?)\/>/g, '<ref group="注" name="$3" />') //name引数に二重引用符を追加
	.replace(/<ref name( ?)=( ?)([^"].*?) group="注"( ?)\/>/g, '<ref name="$3" group="注" />') //name引数に二重引用符を追加
	.replace(/<ref group="注"( ?)name=(".*?")>(.*?)<\/ref>/g, '{{Efn2|name=$2|$3}}') //{{Efn2|name="○○"|○○}}に変更
	.replace(/<ref name=(".*?")( ?)group="注">(.*?)<\/ref>/g, '{{Efn2|name=$1|$3}}') //{{Efn2|name="○○"|○○}}に変更
	.replace(/<ref group="注"( ?)name( ?)=( ?)(".*?")( ?)\/>/g, '{{Efn2|name=$4}}') //{{Efn2|name="○○"}}に変更
	.replace(/<ref name( ?)=( ?)(".*?")( ?)group="注"( ?)\/>/g, '{{Efn2|name=$3}}') //{{Efn2|name="○○"}}に変更
	.replace(/<ref group="注"( ?)>(.*?)<\/ref>/g, '{{Efn2|$2}}') //{{Efn2|○○}}に変更
	.replace(/([^\n])\n<ref([>| ])/g, '$1<ref$2') //<ref>の前の改行を除去
	.replace(/([^\n])\n{{Efn2\|/g, '$1{{Efn2|') //{{Efn2|の前の改行を除去
	// 出典
	.replace(/([^\n])<ref([>| ])/g, '$1\n<ref$2') //<ref>の前に改行を追加
	.replace(/<ref name( ?)=( ?)([^"].*?)( ?)>(.*?)<\/ref>/g, '<ref name="$3">$5</ref>') //name引数に二重引用符を追加
	.replace(/<ref name( ?)=( ?)([^"].*?)( ?)\/>/g, '<ref name="$3" />') //name引数に二重引用符を追加
	.replace(/<ref name( ?)=( ?)"(.*?)"( ?)\/>/g, '{{R|$3}}') //{{R|○○}}に変更
	.replace(/([^\n])\n<ref([>| ])/g, '$1<ref$2') //<ref>の前の改行を除去
	.replace(/([^\n])\n{{R\|/g, '$1{{R|') //{{R|の前の改行を除去
	// 脚注
	.replace(/<references( ?)\/>/g, '{{Reflist}}')
	.replace(/<references group="注"( ?)\/>/g, '{{Notelist2}}')
	.replace(/{{Reflist\|\|group="注"}}/g, '{{Reflist|group="注"|}}')
	.replace(/{{Reflist\|([0-9])\|group="注"}}/g, '{{Reflist|group="注"|$1}}')
	.replace(/{{Reflist\|colwidth=/g, '{{Reflist|')
	.replace(/{{Reflist\|em\|group="注"}}/g, '{{Reflist|group="注"|em}}')
	.replace(/{{Reflist\|([0-9]|[1-9][0-9])em\|group="注"}}/g, '{{Reflist|group="注"|$1em}}')
	.replace(/{{Reflist\|group="注"}}/g, '{{Notelist2}}')
	.replace(/{{Reflist\|group="注"\|/g, '{{Notelist2|')
	.replace(/{{Notelist}}/g, '{{Notelist2}}')
	.replace(/{{Notelist\|/g, '{{Notelist2|')
	.replace(/list\|colwidth=/g, 'list|')
	.replace(/list2\|colwidth=/g, 'list2|')
	.replace(/{{Reflist\|}}/g, '{{Reflist}}')
	.replace(/{{Reflist\|[0-1]}}/g, '{{Reflist}}')
	.replace(/{{Reflist\|2}}/g, '{{Reflist|30em}}')
	.replace(/{{Reflist\|[3-9]}}/g, '{{Reflist|20em}}')
	.replace(/{{Notelist2\|}}/g, '{{Notelist2}}')
	.replace(/{{Notelist2\|[0-1]}}/g, '{{Notelist2}}')
	.replace(/{{Notelist2\|2}}/g, '{{Notelist2|30em}}')
	.replace(/{{Notelist2\|[3-9]}}/g, '{{Notelist2|20em}}')
	.replace(/{{Reflist\|em}}/g, '{{Reflist}}')
	.replace(/{{Reflist\|([0-9]|1?[0-9]|2?[0-4])em}}/g, '{{Reflist|20em}}')
	.replace(/{{Reflist\|(2?[5-9]|[3-9][0-9])em}}/g, '{{Reflist|30em}}')
	.replace(/{{Notelist2\|em}}/g, '{{Notelist2}}')
	.replace(/{{Notelist2\|([0-9]|1?[0-9]|2?[0-4])em}}/g, '{{Notelist2|20em}}')
	.replace(/{{Notelist2\|(2?[5-9]|[3-9][0-9])em}}/g, '{{Notelist2|30em}}');

sel.Text = s;
スポンサーリンク