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

提供: MeryWiki
ナビゲーションに移動 検索に移動
MSY-07 (トーク | 投稿記録)
注意事項の追加
MSY-07 (トーク | 投稿記録)
ソースコードの復元
21行目: 21行目:
== ダウンロード ==
== ダウンロード ==
[[ファイル:Wikipediaマークアップ修正.zip]]
[[ファイル:Wikipediaマークアップ修正.zip]]
== ソースコード ==
<syntaxhighlight lang="javascript">
#title = "Wikipediaマークアップ修正"
#tooltip = "Wikipediaのマークアップや表記を修正します。"
var sel = document.selection;
if (sel.Text == "") {
sel.SelectAll();
}
var s1 = sel.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(/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(/・・・/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:').
// リダイレクト
replace(/# REDIRECT/g, '#REDIRECT').
replace(/# redirect/g, '#redirect').
replace(/# 転送/g, '#転送').
replace(/#redirect|#転送/g, '#REDIRECT').
replace(/#REDIRECT(\s?)\[\[/g, '#REDIRECT [[').
// 出典
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(/group(\s?)=(\s?)("?)(注釈|注|†|※|\*)("?)/g, 'group="注"').
replace(/{{Refnest\|group(\s?)=(\s?)("?)注("?)/g, '{{Efn2').
replace(/{{Efn\|/g, '{{Efn2|').
replace(/<ref group="注">(.+?)<\/ref>/g, '{{Efn2|$1}}').
replace(/<ref group="注" name(\s?)=(\s?)([^"].+?[^"])>(.+?)<\/ref>/g, '<ref group="注" name="$3">$4</ref>'). //name引数に二重引用符を追加
replace(/<ref name(\s?)=(\s?)([^"].+?[^"]) group="注">(.+?)<\/ref>/g, '<ref name="$3" group="注">$4</ref>'). //name引数に二重引用符を追加
replace(/<ref group="注" name(\s?)=(\s?)([^"].+?[^"])(\s?)\/>/g, '<ref group="注" name="$3" />'). //name引数に二重引用符を追加
replace(/<ref name(\s?)=(\s?)([^"].+?[^"]) group="注"(\s?)\/>/g, '<ref name="$3" group="注" />'). //name引数に二重引用符を追加
replace(/<\/ref>([^\n\|}])/g, '</ref>\n$1'). //</ref>の後に改行を追加
replace(/<ref group="注" name(\s?)=(\s?)"(.+?)"(\s?)\/>/g, '{{Efn2|name="$3"}}').
replace(/<ref name(\s?)=(\s?)"(.+?)" group="注"(\s?)\/>/g, '{{Efn2|name="$3"}}').
replace(/<\/ref>\n([^\n\|}\*;:])/g, '</ref>$1'). //</ref>の後の改行を除去
replace(/<ref group="注" name="(.+?)">(.+?)<\/ref>/g, '{{Efn2|name="$1"|$2}}').
replace(/<ref name="(.+?)" group="注">(.+?)<\/ref>/g, '{{Efn2|name="$1"|$2}}').
// 脚注
replace(/<references(\s?)\/>/g, '{{Reflist}}').
replace(/<references group="注"(\s?)\/>/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 = s2;
</syntaxhighlight>

2024年5月8日 (水) 22:14時点における版

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

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

使用方法

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

注意事項

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

出典

ダウンロード

ファイル:Wikipediaマークアップ修正.zip

ソースコード

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

var sel = document.selection;
if (sel.Text == "") {
	sel.SelectAll();
}

var s1 = sel.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(/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(/・・・/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:').
	// リダイレクト
	replace(/# REDIRECT/g, '#REDIRECT').
	replace(/# redirect/g, '#redirect').
	replace(/# 転送/g, '#転送').
	replace(/#redirect|#転送/g, '#REDIRECT').
	replace(/#REDIRECT(\s?)\[\[/g, '#REDIRECT [[').
	// 出典
	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(/group(\s?)=(\s?)("?)(注釈|注|†|※|\*)("?)/g, 'group="注"').
	replace(/{{Refnest\|group(\s?)=(\s?)("?)注("?)/g, '{{Efn2').
	replace(/{{Efn\|/g, '{{Efn2|').
	replace(/<ref group="注">(.+?)<\/ref>/g, '{{Efn2|$1}}').
	replace(/<ref group="注" name(\s?)=(\s?)([^"].+?[^"])>(.+?)<\/ref>/g, '<ref group="注" name="$3">$4</ref>'). //name引数に二重引用符を追加
	replace(/<ref name(\s?)=(\s?)([^"].+?[^"]) group="注">(.+?)<\/ref>/g, '<ref name="$3" group="注">$4</ref>'). //name引数に二重引用符を追加
	replace(/<ref group="注" name(\s?)=(\s?)([^"].+?[^"])(\s?)\/>/g, '<ref group="注" name="$3" />'). //name引数に二重引用符を追加
	replace(/<ref name(\s?)=(\s?)([^"].+?[^"]) group="注"(\s?)\/>/g, '<ref name="$3" group="注" />'). //name引数に二重引用符を追加
	replace(/<\/ref>([^\n\|}])/g, '</ref>\n$1'). //</ref>の後に改行を追加
	replace(/<ref group="注" name(\s?)=(\s?)"(.+?)"(\s?)\/>/g, '{{Efn2|name="$3"}}').
	replace(/<ref name(\s?)=(\s?)"(.+?)" group="注"(\s?)\/>/g, '{{Efn2|name="$3"}}').
	replace(/<\/ref>\n([^\n\|}\*;:])/g, '</ref>$1'). //</ref>の後の改行を除去
	replace(/<ref group="注" name="(.+?)">(.+?)<\/ref>/g, '{{Efn2|name="$1"|$2}}').
	replace(/<ref name="(.+?)" group="注">(.+?)<\/ref>/g, '{{Efn2|name="$1"|$2}}').
	// 脚注
	replace(/<references(\s?)\/>/g, '{{Reflist}}').
	replace(/<references group="注"(\s?)\/>/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 = s2;
スポンサーリンク