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

提供: MeryWiki
ナビゲーションに移動 検索に移動
MSY-07 (トーク | 投稿記録)
ソースコード: 箇条書きの正規表現を修正
MSY-07 (トーク | 投稿記録)
ソースコード: マジックリンクの追加、正規表現の修正
385行目: 385行目:
       replace(/。\n([^\n\*#;:<].+?)。/g, '。$1。'). //1行改行をトルツメ
       replace(/。\n([^\n\*#;:<].+?)。/g, '。$1。'). //1行改行をトルツメ
       // テンプレート
       // テンプレート
       replace(/{{a(.*?)}}/g, '{{A$1}}').
       replace(/{{a/g, '{{A').
       replace(/{{b(.*?)}}/g, '{{B$1}}').
       replace(/{{b/g, '{{B').
       replace(/{{c(.*?)}}/g, '{{C$1}}').
       replace(/{{c/g, '{{C').
       replace(/{{d(.*?)}}/g, '{{D$1}}').
       replace(/{{d/g, '{{D').
       replace(/{{e(.*?)}}/g, '{{E$1}}').
       replace(/{{e/g, '{{E').
       replace(/{{f(.*?)}}/g, '{{F$1}}').
       replace(/{{f/g, '{{F').
       replace(/{{g(.*?)}}/g, '{{G$1}}').
       replace(/{{g/g, '{{G').
       replace(/{{h(.*?)}}/g, '{{H$1}}').
       replace(/{{h/g, '{{H').
       replace(/{{i(.*?)}}/g, '{{I$1}}').
       replace(/{{i/g, '{{I').
       replace(/{{j(.*?)}}/g, '{{J$1}}').
       replace(/{{j/g, '{{J').
       replace(/{{k(.*?)}}/g, '{{K$1}}').
       replace(/{{k/g, '{{K').
       replace(/{{l(.*?)}}/g, '{{L$1}}').
       replace(/{{l/g, '{{L').
       replace(/{{m(.*?)}}/g, '{{M$1}}').
       replace(/{{m/g, '{{M').
       replace(/{{n(.*?)}}/g, '{{N$1}}').
       replace(/{{n/g, '{{N').
       replace(/{{o(.*?)}}/g, '{{O$1}}').
       replace(/{{o/g, '{{O').
       replace(/{{p(.*?)}}/g, '{{P$1}}').
       replace(/{{p/g, '{{P').
       replace(/{{q(.*?)}}/g, '{{Q$1}}').
       replace(/{{q/g, '{{Q').
       replace(/{{r(.*?)}}/g, '{{R$1}}').
       replace(/{{r/g, '{{R').
       replace(/{{s(.*?)}}/g, '{{S$1}}').
       replace(/{{s/g, '{{S').
       replace(/{{t(.*?)}}/g, '{{T$1}}').
       replace(/{{t/g, '{{T').
       replace(/{{u(.*?)}}/g, '{{U$1}}').
       replace(/{{u/g, '{{U').
       replace(/{{v(.*?)}}/g, '{{V$1}}').
       replace(/{{v/g, '{{V').
       replace(/{{w(.*?)}}/g, '{{W$1}}').
       replace(/{{w/g, '{{W').
       replace(/{{x(.*?)}}/g, '{{X$1}}').
       replace(/{{x/g, '{{X').
       replace(/{{y(.*?)}}/g, '{{Y$1}}').
       replace(/{{y/g, '{{Y').
       replace(/{{z(.*?)}}/g, '{{Z$1}}').
       replace(/{{z/g, '{{Z').
       replace(/{{Tl\|a(.*?)}}/g, '{{Tl|A$1}}').
       replace(/{{Tl\|a/g, '{{Tl|A').
       replace(/{{Tl\|b(.*?)}}/g, '{{Tl|B$1}}').
       replace(/{{Tl\|b/g, '{{Tl|B').
       replace(/{{Tl\|c(.*?)}}/g, '{{Tl|C$1}}').
       replace(/{{Tl\|c/g, '{{Tl|C').
       replace(/{{Tl\|d(.*?)}}/g, '{{Tl|D$1}}').
       replace(/{{Tl\|d/g, '{{Tl|D').
       replace(/{{Tl\|e(.*?)}}/g, '{{Tl|E$1}}').
       replace(/{{Tl\|e/g, '{{Tl|E').
       replace(/{{Tl\|f(.*?)}}/g, '{{Tl|F$1}}').
       replace(/{{Tl\|f/g, '{{Tl|F').
       replace(/{{Tl\|g(.*?)}}/g, '{{Tl|G$1}}').
       replace(/{{Tl\|g/g, '{{Tl|G').
       replace(/{{Tl\|h(.*?)}}/g, '{{Tl|H$1}}').
       replace(/{{Tl\|h/g, '{{Tl|H').
       replace(/{{Tl\|i(.*?)}}/g, '{{Tl|I$1}}').
       replace(/{{Tl\|i/g, '{{Tl|I').
       replace(/{{Tl\|j(.*?)}}/g, '{{Tl|J$1}}').
       replace(/{{Tl\|j/g, '{{Tl|J').
       replace(/{{Tl\|k(.*?)}}/g, '{{Tl|K$1}}').
       replace(/{{Tl\|k/g, '{{Tl|K').
       replace(/{{Tl\|l(.*?)}}/g, '{{Tl|L$1}}').
       replace(/{{Tl\|l/g, '{{Tl|L').
       replace(/{{Tl\|m(.*?)}}/g, '{{Tl|M$1}}').
       replace(/{{Tl\|m/g, '{{Tl|M').
       replace(/{{Tl\|n(.*?)}}/g, '{{Tl|N$1}}').
       replace(/{{Tl\|n/g, '{{Tl|N').
       replace(/{{Tl\|o(.*?)}}/g, '{{Tl|O$1}}').
       replace(/{{Tl\|o/g, '{{Tl|O').
       replace(/{{Tl\|p(.*?)}}/g, '{{Tl|P$1}}').
       replace(/{{Tl\|p/g, '{{Tl|P').
       replace(/{{Tl\|q(.*?)}}/g, '{{Tl|Q$1}}').
       replace(/{{Tl\|q/g, '{{Tl|Q').
       replace(/{{Tl\|r(.*?)}}/g, '{{Tl|R$1}}').
       replace(/{{Tl\|r/g, '{{Tl|R').
       replace(/{{Tl\|s(.*?)}}/g, '{{Tl|S$1}}').
       replace(/{{Tl\|s/g, '{{Tl|S').
       replace(/{{Tl\|t(.*?)}}/g, '{{Tl|T$1}}').
       replace(/{{Tl\|t/g, '{{Tl|T').
       replace(/{{Tl\|u(.*?)}}/g, '{{Tl|U$1}}').
       replace(/{{Tl\|u/g, '{{Tl|U').
       replace(/{{Tl\|v(.*?)}}/g, '{{Tl|V$1}}').
       replace(/{{Tl\|v/g, '{{Tl|V').
       replace(/{{Tl\|w(.*?)}}/g, '{{Tl|W$1}}').
       replace(/{{Tl\|w/g, '{{Tl|W').
       replace(/{{Tl\|x(.*?)}}/g, '{{Tl|X$1}}').
       replace(/{{Tl\|x/g, '{{Tl|X').
       replace(/{{Tl\|y(.*?)}}/g, '{{Tl|Y$1}}').
       replace(/{{Tl\|y/g, '{{Tl|Y').
       replace(/{{Tl\|z(.*?)}}/g, '{{Tl|Z$1}}').
       replace(/{{Tl\|z/g, '{{Tl|Z').
       replace(/{{デフォルトソート:(.+?)}}/g, '{{DEFAULTSORT:$1}}').
       replace(/{{デフォルトソート:/g, '{{DEFAULTSORT:').
       replace(/ISBN ([0-9\-]{9,16}[0-9X])/g, '{{ISBN2\|$1}}').
      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(/^(\*+|#+|:+\*|:+#)([^ \*#:].+?)/gm, '$1 $2'). //箇条書きのあとに空白を追加
       replace(/^(\*+|#+|:+\*|:+#)([^ \*#:].+?)/gm, '$1 $2'). //箇条書きのあとに空白を追加
463行目: 465行目:
       // 脚注
       // 脚注
       replace(/{{Refnest\|group(\s?)=(\s?)("?)(注釈|注)("?)/g, '{{Efn2').
       replace(/{{Refnest\|group(\s?)=(\s?)("?)(注釈|注)("?)/g, '{{Efn2').
       replace(/{{Efn\|(.+?)}}/g, '{{Efn2|$1}}').
       replace(/{{Efn\|/g, '{{Efn2|').
       replace(/group(\s?)=(\s?)("?)(注釈|注|†|※|\*)("?)/g, 'group="注"').
       replace(/group(\s?)=(\s?)("?)(注釈|注|†|※|\*)("?)/g, 'group="注"').
       replace(/<ref group="注">(.+?)<\/ref>/g, '{{Efn2|$1}}').
       replace(/<ref group="注">(.+?)<\/ref>/g, '{{Efn2|$1}}').

2023年8月16日 (水) 17:17時点における版

Wikipediaの記事をWikipedia:表記ガイドに従った表記方法で、またHelp:ページの編集に従ったマークアップで修正します。

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

使用方法

  1. 表記を修正したい記事をコピーしてMeryにペーストします。
  2. マクロを実行します。

注意事項

本マクロを実行後、必ずWikipedia上のプレビュー画面と差分画面で問題がないか確認してから投稿してください。

出典

ソースコード

// -----------------------------------------------------------------------------
// Wikipedia表記修正
//
// Copyright (c) MSY-07. All Rights Reserved.
// www:    https://www.haijin-boys.com/
//
// 出典1: https://ja.wikipedia.org/wiki/Help:早見表
// 出典2: https://ja.wikipedia.org/wiki/Help:ページの編集
// 出典3: https://ja.wikipedia.org/wiki/Wikipedia:表記ガイド
// -----------------------------------------------------------------------------

if (document.selection.Text == "")
  document.selection.SelectAll();

var s1 = document.selection.Text;
var s2 = "";

s2 = s1.
      // Unicode制御文字
      replace(/‎/g, ''). //Left-to-right mark(U+200E)の除去
      replace(/‏/g, ''). //Right-to-left mark(U+200F)の除去
      replace(/‍/g, ''). //Zero width joiner(U+200D)の除去
      replace(/‌/g, ''). //Zero width non-joiner(U+200C)の除去
      replace(/‪/g, ''). //Left-to-right embedding(U+202A)の除去
      replace(/‭/g, ''). //Left-to-right override(U+202D)の除去
      replace(/‬/g, ''). //Pop directional formatting(U+202C)の除去
      replace(//g, ''). //National digit shapes(U+206E)の除去
      replace(//g, ''). //Nominal digit shapes(U+206F)の除去
      replace(//g, ''). //Activate symmetric swapping(U+206B)の除去
      replace(//g, ''). //Inhibit symmetric swapping(U+206A)の除去
      replace(//g, ''). //Activate Arabic form shaping(U+206D)の除去
      replace(//g, ''). //Inhibit Arabic form shaping(U+206C)の除去
      replace(/�/g, ''). //Record Separator(U+001E)の除去
      replace(/�/g, ''). //Unit Separator(U+001F)の除去
      // 全角英数・記号
      replace(/ /g, ' ').
      replace(/“|”/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(/;/g, ';').
      replace(/</g, '<').
      replace(/>/g, '>').
      replace(/@/g, '@').
      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(/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(/^だが/gm, '「であるが」').
      replace(/だが/g, 'であるが').
      replace(/「であるが」/g, 'だが').
      replace(/だった/g, 'であった').
      // 仮名
      replace(/ヶ月/g, 'か月').
      replace(/ヶ所/g, 'か所').
      replace(/ヶ条/g, 'か条').
      replace(/迄/g, 'まで').
      replace(/下さい/g, 'ください').
      replace(/或いは/g, 'あるいは').
      replace(/及び/g, 'および').
      replace(/且つ/g, 'かつ').
      replace(/。更に/g, '。さらに').
      replace(/、更に/g, '、さらに').
      replace(/併し|然し/g, 'しかし').
      replace(/然も/g, 'しかも').
      replace(/即ち/g, 'すなわち').
      replace(/反れとも/g, 'それとも').
      replace(/但し/g, 'ただし').
      replace(/因みに/g, 'ちなみに').
      replace(/。所で/g, '。ところで').
      replace(/。尚/g, '。なお').
      replace(/尚、/g, 'なお、').
      replace(/並びに/g, 'ならびに').
      replace(/又は/g, 'または').
      replace(/若しくは/g, 'もしくは').
      replace(/が故に/g, 'がゆえに').
      replace(/それ故/g, 'それゆえ').
      replace(/或る/g, 'ある').
      replace(/所謂/g, 'いわゆる').
      replace(/其の/g, 'その').
      replace(/貴方/g, 'あなた').
      replace(/其れ/g, 'それ').
      replace(/何時/g, 'いつ').
      replace(/何処/g, 'どこ').
      replace(/何故/g, 'なぜ').
      replace(/有り難う/g, 'ありがとう').
      replace(/嗚呼/g, 'ああ').
      replace(/その内、/g, 'そのうち、').
      replace(/。その内/g, '。そのうち').
      replace(/の為に/g, 'のために').
      replace(/る為に/g, 'るために').
      replace(/凡そ/g, 'およそ').
      replace(/流石/g, 'さすが').
      replace(/殆ど/g, 'ほとんど').
      replace(/御菓子/g, 'お菓子').
      replace(/御加護/g, 'ご加護').
      replace(/高目/g, '高め').
      replace(/誤魔化す/g, 'ごまかす').
      replace(/蒲公英/g, 'タンポポ').
      replace(/流行り/g, 'はやり').
      replace(/沢山/g, 'たくさん').
      replace(/面倒/g, 'めんどう').
      replace(/関わらず/g, 'かかわらず').
      replace(/散りばめる/g, 'ちりばめる').
      // 約物
      replace(/。。。|、、、/g, '…').
      replace(/・・・/g, '…').
      replace(/!!/g, '!!').
      replace(/!?/g, '!?').
      replace(/?!/g, '?!').
      replace(/??/g, '??').
      replace(/~|~/g, '〜'). //全角チルダ(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(/ {2,}/g, ' '). //連続する空白を除去
      replace(/([^=\-\|]) $/gm, '$1'). //行末の空白を除去
      replace(/ 。/g, '。'). //句点の前の空白を除去
      replace(/([^\-]) 、/g, '$1、'). //読点の前の空白を除去
      replace(/。 ([^#\-\|].+?)。/g, '。$1。'). //句点の後の空白を除去
      replace(/、 (.+?)。/g, '、$1。'). //読点の後の空白を除去
      replace(/(==+)\s?(.+?)\s?(==+)/g, '$1 $2 $3'). //見出しに空白を追加
      // 改行・空白行
      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(/。\n([^\n\*#;:<].+?)。/g, '。$1。'). //1行改行をトルツメ
      // テンプレート
      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(/^(\*+|#+|:+\*|:+#)([^ \*#:].+?)/gm, '$1 $2'). //箇条書きのあとに空白を追加
      replace(/^(;|:+;)([^ ].+?)/gm, '$1 $2'). //定義の箇条書き(;)のあとに空白を追加
      replace(/^(:+)([^ \*#:;<\n].+?)/gm, '$1 $2'). //定義の箇条書き(:)のあとに空白を追加
      replace(/^(:+) (\[\[声優\|声\]\]|声|演)(\s?)[::](\s?)(.+?)/gm, '$1 $2 - $5'). //声と声優名の間の区切り記号を変更
      replace(/^(\*|#|;|:)(.+?)\n\n(\*|#|;|:)/gm, '$1$2\n$3'). //箇条書きと箇条書きの間の空白行をトルツメ(1周目)
      replace(/^(\*|#|;|:)(.+?)\n\n(\*|#|;|:)/gm, '$1$2\n$3'). //箇条書きと箇条書きの間の空白行をトルツメ(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(\s?)>|<br\/>/g, '<br />').
      // ウィキリンク
      replace(/\[\[(カテゴリ|category):(.+?)\]\]/g, '[[Category:$2]]').
      // Template:R
      replace(/<ref name(\s?)=(\s?)([^"].+?[^"])>(.+?)<\/ref>/g, '<ref name="$3">$4</ref>'). //name属性に二重引用符を追加
      replace(/<ref name(\s?)=(\s?)([^"].+?[^"])(\s?)\/>/g, '<ref name="$3" />'). //name属性に二重引用符を追加
      replace(/<\/ref>([^\n\|}])/g, '</ref>\n$1'). //</ref>の後に改行を追加
      replace(/<ref name(\s?)=(\s?)"(.+?)"(\s?)\/>/g, '{{R|$3}}'). //<ref name="○○" />を{{R|○○}}に変更
      replace(/<\/ref>\n([^\n\|}\*;:])/g, '</ref>$1'). //</ref>の後の改行を除去
      // 脚注
      replace(/{{Refnest\|group(\s?)=(\s?)("?)(注釈|注)("?)/g, '{{Efn2').
      replace(/{{Efn\|/g, '{{Efn2|').
      replace(/group(\s?)=(\s?)("?)(注釈|注|†|※|\*)("?)/g, 'group="注"').
      replace(/<ref group="注">(.+?)<\/ref>/g, '{{Efn2|$1}}').
      replace(/<references(\s?)\/>/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}}');

document.selection.Text = s2;
スポンサーリンク