<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.xhsr.org.cn/index.php?action=history&amp;feed=atom&amp;title=%E7%94%A8%E6%88%B7%3A%E9%95%9C%E5%8D%8E%E9%85%B1%2FMassEdit.js</id>
	<title>用户:镜华酱/MassEdit.js - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.xhsr.org.cn/index.php?action=history&amp;feed=atom&amp;title=%E7%94%A8%E6%88%B7%3A%E9%95%9C%E5%8D%8E%E9%85%B1%2FMassEdit.js"/>
	<link rel="alternate" type="text/html" href="https://wiki.xhsr.org.cn/index.php?title=%E7%94%A8%E6%88%B7:%E9%95%9C%E5%8D%8E%E9%85%B1/MassEdit.js&amp;action=history"/>
	<updated>2026-05-01T17:07:35Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.39.12</generator>
	<entry>
		<id>https://wiki.xhsr.org.cn/index.php?title=%E7%94%A8%E6%88%B7:%E9%95%9C%E5%8D%8E%E9%85%B1/MassEdit.js&amp;diff=3774&amp;oldid=prev</id>
		<title>镜华酱：​镜华酱移动页面用户:镜华酱/common.js至用户:镜华酱/MassEdit.js，不留重定向</title>
		<link rel="alternate" type="text/html" href="https://wiki.xhsr.org.cn/index.php?title=%E7%94%A8%E6%88%B7:%E9%95%9C%E5%8D%8E%E9%85%B1/MassEdit.js&amp;diff=3774&amp;oldid=prev"/>
		<updated>2024-06-20T08:12:23Z</updated>

		<summary type="html">&lt;p&gt;镜华酱移动页面&lt;a href=&quot;/%E7%94%A8%E6%88%B7:%E9%95%9C%E5%8D%8E%E9%85%B1/common.js&quot; title=&quot;用户:镜华酱/common.js&quot;&gt;用户:镜华酱/common.js&lt;/a&gt;至&lt;a href=&quot;/%E7%94%A8%E6%88%B7:%E9%95%9C%E5%8D%8E%E9%85%B1/MassEdit.js&quot; title=&quot;用户:镜华酱/MassEdit.js&quot;&gt;用户:镜华酱/MassEdit.js&lt;/a&gt;，不留重定向&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2024年6月20日 (四) 16:12的版本&lt;/td&gt;
				&lt;/tr&gt;
&lt;!-- diff cache key wumoe:diff::1.12:old-3773:rev-3774 --&gt;
&lt;/table&gt;</summary>
		<author><name>镜华酱</name></author>
	</entry>
	<entry>
		<id>https://wiki.xhsr.org.cn/index.php?title=%E7%94%A8%E6%88%B7:%E9%95%9C%E5%8D%8E%E9%85%B1/MassEdit.js&amp;diff=3773&amp;oldid=prev</id>
		<title>镜华酱：​创建页面，内容为“var _addText = &#039;{{Documentation|content=* 工具介绍见User:BearBin/js#MassEdit。\n* 源代码见[https://github.com/BearBin1215/MoegirlPedia/blob/master/src/gadgets/MassEdit GitHub]。}}&#039;;   // &lt;nowiki&gt;   (()=&gt;{&quot;use strict&quot;;var e={624:e=&gt;{e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var i=&quot;&quot;,n=void 0!==t[5];return t[4]&amp;&amp;(i+=&quot;@supports (&quot;.concat(t[4],&quot;) {&quot;)),t[2]&amp;&amp;(i+=&quot;@media &quot;.concat(t[2],&quot; {&quot;)),n&amp;&amp;(i+=&quot;@layer…”</title>
		<link rel="alternate" type="text/html" href="https://wiki.xhsr.org.cn/index.php?title=%E7%94%A8%E6%88%B7:%E9%95%9C%E5%8D%8E%E9%85%B1/MassEdit.js&amp;diff=3773&amp;oldid=prev"/>
		<updated>2024-06-20T08:11:13Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“var _addText = &amp;#039;{{Documentation|content=* 工具介绍见&lt;a href=&quot;/index.php?title=%E7%94%A8%E6%88%B7:BearBin/js&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;用户:BearBin/js（页面不存在）&quot;&gt;User:BearBin/js#MassEdit&lt;/a&gt;。\n* 源代码见[https://github.com/BearBin1215/MoegirlPedia/blob/master/src/gadgets/MassEdit GitHub]。}}&amp;#039;;   // &amp;lt;nowiki&amp;gt;   (()=&amp;gt;{&amp;quot;use strict&amp;quot;;var e={624:e=&amp;gt;{e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var i=&amp;quot;&amp;quot;,n=void 0!==t[5];return t[4]&amp;amp;&amp;amp;(i+=&amp;quot;@supports (&amp;quot;.concat(t[4],&amp;quot;) {&amp;quot;)),t[2]&amp;amp;&amp;amp;(i+=&amp;quot;@media &amp;quot;.concat(t[2],&amp;quot; {&amp;quot;)),n&amp;amp;&amp;amp;(i+=&amp;quot;@layer…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;var _addText = &amp;#039;{{Documentation|content=* 工具介绍见[[User:BearBin/js#MassEdit]]。\n* 源代码见[https://github.com/BearBin1215/MoegirlPedia/blob/master/src/gadgets/MassEdit GitHub]。}}&amp;#039;;&lt;br /&gt;
 &lt;br /&gt;
// &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
(()=&amp;gt;{&amp;quot;use strict&amp;quot;;var e={624:e=&amp;gt;{e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var i=&amp;quot;&amp;quot;,n=void 0!==t[5];return t[4]&amp;amp;&amp;amp;(i+=&amp;quot;@supports (&amp;quot;.concat(t[4],&amp;quot;) {&amp;quot;)),t[2]&amp;amp;&amp;amp;(i+=&amp;quot;@media &amp;quot;.concat(t[2],&amp;quot; {&amp;quot;)),n&amp;amp;&amp;amp;(i+=&amp;quot;@layer&amp;quot;.concat(t[5].length&amp;gt;0?&amp;quot; &amp;quot;.concat(t[5]):&amp;quot;&amp;quot;,&amp;quot; {&amp;quot;)),i+=e(t),n&amp;amp;&amp;amp;(i+=&amp;quot;}&amp;quot;),t[2]&amp;amp;&amp;amp;(i+=&amp;quot;}&amp;quot;),t[4]&amp;amp;&amp;amp;(i+=&amp;quot;}&amp;quot;),i})).join(&amp;quot;&amp;quot;)},t.i=function(e,i,n,r,a){&amp;quot;string&amp;quot;==typeof e&amp;amp;&amp;amp;(e=[[null,e,void 0]]);var o={};if(n)for(var s=0;s&amp;lt;this.length;s++){var l=this[s][0];null!=l&amp;amp;&amp;amp;(o[l]=!0)}for(var c=0;c&amp;lt;e.length;c++){var d=[].concat(e[c]);n&amp;amp;&amp;amp;o[d[0]]||(void 0!==a&amp;amp;&amp;amp;(void 0===d[5]||(d[1]=&amp;quot;@layer&amp;quot;.concat(d[5].length&amp;gt;0?&amp;quot; &amp;quot;.concat(d[5]):&amp;quot;&amp;quot;,&amp;quot; {&amp;quot;).concat(d[1],&amp;quot;}&amp;quot;)),d[5]=a),i&amp;amp;&amp;amp;(d[2]?(d[1]=&amp;quot;@media &amp;quot;.concat(d[2],&amp;quot; {&amp;quot;).concat(d[1],&amp;quot;}&amp;quot;),d[2]=i):d[2]=i),r&amp;amp;&amp;amp;(d[4]?(d[1]=&amp;quot;@supports (&amp;quot;.concat(d[4],&amp;quot;) {&amp;quot;).concat(d[1],&amp;quot;}&amp;quot;),d[4]=r):d[4]=&amp;quot;&amp;quot;.concat(r)),t.push(d))}},t}},223:e=&amp;gt;{e.exports=function(e){return e[1]}},197:(e,t,i)=&amp;gt;{i.d(t,{A:()=&amp;gt;s});var n=i(223),r=i.n(n),a=i(624),o=i.n(a)()(r());o.push([e.id,&amp;quot;.bearbintools-loger .loger-clear{font-size:.9em;font-weight:400;margin-left:.3em}.bearbintools-loger .loger-body{background:hsla(0,0%,100%,.7);border:1px solid #ccc;display:flow-root;padding:.3em}.bearbintools-loger .loger-filter{float:right;padding:.4em}.bearbintools-loger .loger-filter&amp;gt;div{border-radius:.3em;cursor:pointer;margin-bottom:.2em;padding-right:.2em}.bearbintools-loger .loger-filter&amp;gt;div.loger-filter-selected{background-color:hsla(0,0%,50%,.07)}.bearbintools-loger .loger-filter .loger-filter-icon{display:inline-block;height:1em;line-height:1em;text-align:center;width:1.2em}.bearbintools-loger .loger-lines{font-family:monospace;list-style:inside;max-height:20em;overflow-y:auto}.bearbintools-loger .loger-lines&amp;gt;li a{color:inherit;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}&amp;quot;,&amp;quot;&amp;quot;]);const s=o},781:(e,t,i)=&amp;gt;{i.d(t,{A:()=&amp;gt;s});var n=i(223),r=i.n(n),a=i(624),o=i.n(a)()(r());o.push([e.id,&amp;quot;.rootpage-Special_MassEdit #firstHeading{align-items:flex-end;display:flex;flex-wrap:wrap;justify-content:space-between}.rootpage-Special_MassEdit #firstHeading&amp;gt;div{font-size:.6em}.rootpage-Special_MassEdit #bodyContent{padding-right:0}.rootpage-Special_MassEdit #bodyContent #mw-content-text h5{margin-bottom:0}.rootpage-Special_MassEdit #bodyContent #mw-content-text textarea{line-height:1.3}.rootpage-Special_MassEdit #bodyContent #mw-content-text&amp;gt;ul{list-style:inside!important;margin:0 0 0 .2em!important}#me-regex{align-items:center;display:flex;justify-content:space-between;margin-top:.3rem}#me-regex-note li{margin-bottom:0;margin-top:0}#me-page-lists{display:flex;gap:.3em}#me-page-lists&amp;gt;div{flex-grow:1}#me-page-lists&amp;gt;div textarea{resize:none}#me-pages-note{margin-bottom:.6em}.me-panel{display:flex;gap:.1rem}.me-panel+.me-panel{margin-top:.4em}#me-edit-panel #me-interval{flex:0 0 5.5em}#me-edit-panel #me-summary,#me-preview-panel .oo-ui-textInputWidget{max-width:none}#me-retry{margin-top:.3em}#me-retry #me-use-retry{display:inline}#me-retry #me-use-retry .oo-ui-fieldLayout-body{display:inline;max-width:unset}#me-retry #me-use-retry .oo-ui-fieldLayout-body&amp;gt;span{display:inline}#me-retry #me-use-retry .oo-ui-checkboxInputWidget-checkIcon{top:0}#me-retry #me-use-retry:after{content:unset}#me-retry #me-retry-times{display:inline-block;width:3em}#me-regex-help-list{list-style:inside;-webkit-user-select:none;-moz-user-select:none;user-select:none}#me-regex-help-list li{line-height:1.6;margin-bottom:1px}#me-regex-help-list code{border:1px solid #ddd;cursor:text;padding:1px 3px;-webkit-user-select:all;-moz-user-select:all;user-select:all}&amp;quot;,&amp;quot;&amp;quot;]);const s=o},960:e=&amp;gt;{var t=[];function i(e){for(var i=-1,n=0;n&amp;lt;t.length;n++)if(t[n].identifier===e){i=n;break}return i}function n(e,n){for(var a={},o=[],s=0;s&amp;lt;e.length;s++){var l=e[s],c=n.base?l[0]+n.base:l[0],d=a[c]||0,p=&amp;quot;&amp;quot;.concat(c,&amp;quot; &amp;quot;).concat(d);a[c]=d+1;var m=i(p),u={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==m)t[m].references++,t[m].updater(u);else{var g=r(u,n);n.byIndex=s,t.splice(s,0,{identifier:p,updater:g,references:1})}o.push(p)}return o}function r(e,t){var i=t.domAPI(t);i.update(e);return function(t){if(t){if(t.css===e.css&amp;amp;&amp;amp;t.media===e.media&amp;amp;&amp;amp;t.sourceMap===e.sourceMap&amp;amp;&amp;amp;t.supports===e.supports&amp;amp;&amp;amp;t.layer===e.layer)return;i.update(e=t)}else i.remove()}}e.exports=function(e,r){var a=n(e=e||[],r=r||{});return function(e){e=e||[];for(var o=0;o&amp;lt;a.length;o++){var s=i(a[o]);t[s].references--}for(var l=n(e,r),c=0;c&amp;lt;a.length;c++){var d=i(a[c]);0===t[d].references&amp;amp;&amp;amp;(t[d].updater(),t.splice(d,1))}a=l}}},443:e=&amp;gt;{var t={};e.exports=function(e,i){var n=function(e){if(void 0===t[e]){var i=document.querySelector(e);if(window.HTMLIFrameElement&amp;amp;&amp;amp;i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}t[e]=i}return t[e]}(e);if(!n)throw new Error(&amp;quot;Couldn&amp;#039;t find a style target. This probably means that the value for the &amp;#039;insert&amp;#039; parameter is invalid.&amp;quot;);n.appendChild(i)}},628:e=&amp;gt;{e.exports=function(e){var t=document.createElement(&amp;quot;style&amp;quot;);return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},120:(e,t,i)=&amp;gt;{e.exports=function(e){var t=i.nc;t&amp;amp;&amp;amp;e.setAttribute(&amp;quot;nonce&amp;quot;,t)}},81:e=&amp;gt;{e.exports=function(e){if(&amp;quot;undefined&amp;quot;==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(i){!function(e,t,i){var n=&amp;quot;&amp;quot;;i.supports&amp;amp;&amp;amp;(n+=&amp;quot;@supports (&amp;quot;.concat(i.supports,&amp;quot;) {&amp;quot;)),i.media&amp;amp;&amp;amp;(n+=&amp;quot;@media &amp;quot;.concat(i.media,&amp;quot; {&amp;quot;));var r=void 0!==i.layer;r&amp;amp;&amp;amp;(n+=&amp;quot;@layer&amp;quot;.concat(i.layer.length&amp;gt;0?&amp;quot; &amp;quot;.concat(i.layer):&amp;quot;&amp;quot;,&amp;quot; {&amp;quot;)),n+=i.css,r&amp;amp;&amp;amp;(n+=&amp;quot;}&amp;quot;),i.media&amp;amp;&amp;amp;(n+=&amp;quot;}&amp;quot;),i.supports&amp;amp;&amp;amp;(n+=&amp;quot;}&amp;quot;);var a=i.sourceMap;a&amp;amp;&amp;amp;&amp;quot;undefined&amp;quot;!=typeof btoa&amp;amp;&amp;amp;(n+=&amp;quot;\n/*# sourceMappingURL=data:application/json;base64,&amp;quot;.concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))),&amp;quot; */&amp;quot;)),t.styleTagTransform(n,e,t.options)}(t,e,i)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},849:e=&amp;gt;{e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}},t={};function i(n){var r=t[n];if(void 0!==r)return r.exports;var a=t[n]={id:n,exports:{}};return e[n](a,a.exports,i),a.exports}i.n=e=&amp;gt;{var t=e&amp;amp;&amp;amp;e.__esModule?()=&amp;gt;e.default:()=&amp;gt;e;return i.d(t,{a:t}),t},i.d=(e,t)=&amp;gt;{for(var n in t)i.o(t,n)&amp;amp;&amp;amp;!i.o(e,n)&amp;amp;&amp;amp;Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=&amp;gt;Object.prototype.hasOwnProperty.call(e,t),i.nc=void 0,(()=&amp;gt;{const e=e=&amp;gt;{const t=document.createElement(&amp;quot;template&amp;quot;);return t.innerHTML=e.trim(),t.content.children[0]};var t=i(960),n=i.n(t),r=i(81),a=i.n(r),o=i(443),s=i.n(o),l=i(120),c=i.n(l),d=i(628),p=i.n(d),m=i(849),u=i.n(m),g=i(197),f={};f.styleTagTransform=u(),f.setAttributes=c(),f.insert=s().bind(null,&amp;quot;head&amp;quot;),f.domAPI=a(),f.insertStyleElement=p();n()(g.A,f);g.A&amp;amp;&amp;amp;g.A.locals&amp;amp;&amp;amp;g.A.locals;class h{_logTypes={success:{icon:&amp;quot;✓&amp;quot;,color:&amp;quot;#333&amp;quot;,text:&amp;quot;完成&amp;quot;},warn:{icon:&amp;quot;!&amp;quot;,color:&amp;quot;#f28500&amp;quot;,text:&amp;quot;警告&amp;quot;},error:{icon:&amp;quot;✕&amp;quot;,color:&amp;quot;#eb3941&amp;quot;,text:&amp;quot;出错&amp;quot;}};element;headline;body=e(&amp;#039;&amp;lt;div class=&amp;quot;loger-body&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;);logerLines=e(&amp;#039;&amp;lt;ul class=&amp;quot;loger-lines&amp;quot;&amp;gt;&amp;lt;/ul&amp;gt;&amp;#039;);logDetails=[];filterButtons={};constructor(t=[],i=&amp;quot;&amp;quot;,n=&amp;quot;h3&amp;quot;){t.length&amp;gt;0&amp;amp;&amp;amp;(this._logTypes=t.reduce(((e,{name:t,icon:i,color:n,text:r})=&amp;gt;(e[t]={icon:i,color:n,text:r},e)),{}));for(const e in this._logTypes)this._logTypes[e].show=!0;this.headline=e(`&amp;lt;${n} class=&amp;quot;loger-headline&amp;quot;&amp;gt;&amp;lt;/${n}&amp;gt;`);const r=e(&amp;#039;&amp;lt;a class=&amp;quot;loger-clear&amp;quot;&amp;gt;[清空]&amp;lt;/a&amp;gt;&amp;#039;);r.addEventListener(&amp;quot;click&amp;quot;,this.clear.bind(this));const a=e(&amp;#039;&amp;lt;nav class=&amp;quot;loger-filter&amp;quot;&amp;gt;&amp;lt;/nav&amp;gt;&amp;#039;);for(const[t,{icon:i,color:n,text:r}]of Object.entries(this._logTypes)){const o=e(`&amp;lt;div class=&amp;quot;loger-filter-selected loger-${t}&amp;quot; style=&amp;quot;color:${n}&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;`),s=e(&amp;#039;&amp;lt;span class=&amp;quot;loger-filter-icon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;#039;);s.append(i);const l=e(&amp;#039;&amp;lt;span class=&amp;quot;loger-filter-count&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;#039;);o.append(s,l,` ${r}`),o.addEventListener(&amp;quot;click&amp;quot;,(()=&amp;gt;{this._logTypes[t].show?(o.classList.remove(&amp;quot;loger-filter-selected&amp;quot;),this.logerLines.classList.add(`loger-${t}-hidden`),this.logDetails.filter((e=&amp;gt;e.type===t)).forEach((e=&amp;gt;{e.element.style.display=&amp;quot;none&amp;quot;})),this._logTypes[t].show=!1):(o.classList.add(&amp;quot;loger-filter-selected&amp;quot;),this.logerLines.classList.remove(`loger-${t}-hidden`),this.logDetails.filter((e=&amp;gt;e.type===t)).forEach((e=&amp;gt;{e.element.style.display=&amp;quot;&amp;quot;})),this._logTypes[t].show=!0)})),this.filterButtons[t]={button:o,countElement:l},a.appendChild(o)}this.element=e(`&amp;lt;div class=&amp;quot;bearbintools-loger&amp;quot; id=&amp;quot;${i||&amp;quot;&amp;quot;}&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;`),this.headline.append(&amp;quot;日志&amp;quot;,r),this.body.append(a,this.logerLines),this.element.append(this.headline,this.body)}record(e,t=&amp;quot;normal&amp;quot;,i=(new Date).toLocaleTimeString()){const n=document.createElement(&amp;quot;li&amp;quot;);return n.classList.add(&amp;quot;loger-record&amp;quot;,`loger-${t}`),n.innerHTML=`${i} - ${e}`,n.style.color=this._logTypes[t]?.color||&amp;quot;#222&amp;quot;,!1===this._logTypes[t]?.show&amp;amp;&amp;amp;(n.style.display=&amp;quot;none&amp;quot;),this.logerLines.appendChild(n),this.logerLines.scrollTop=this.logerLines.scrollHeight,this.logDetails.push({element:n,type:t}),this.filterButtons[t]&amp;amp;&amp;amp;(this.filterButtons[t].countElement.innerText=String(+this.filterButtons[t].countElement.innerText+1)),n}clear(){this.logDetails.length=0,this.logerLines.innerHTML=&amp;quot;&amp;quot;;for(const e in this.filterButtons)this.filterButtons[e].countElement.innerText=&amp;quot;0&amp;quot;}}const y=async(e,t=[&amp;quot;page&amp;quot;,&amp;quot;subcat&amp;quot;,&amp;quot;file&amp;quot;])=&amp;gt;{const i=new mw.Api,n=[];if(mw.config.get(&amp;quot;wgUserGroups&amp;quot;).some((e=&amp;gt;[&amp;quot;bot&amp;quot;,&amp;quot;flood&amp;quot;,&amp;quot;patroller&amp;quot;,&amp;quot;sysop&amp;quot;].includes(e)))){let r=&amp;quot;&amp;quot;;for(;void 0!==r;){const a=await i.post({action:&amp;quot;query&amp;quot;,list:&amp;quot;categorymembers&amp;quot;,cmlimit:&amp;quot;max&amp;quot;,cmtitle:e,cmtype:t,cmcontinue:r});if(a.query.categorymembers[0])for(const e of a.query.categorymembers)n.push(e.title);r=a.continue?.cmcontinue}}else{const i=async e=&amp;gt;{const r=$(await $.ajax(e)),a=t.map((e=&amp;gt;{switch(e){case&amp;quot;page&amp;quot;:return&amp;quot;#mw-pages li a&amp;quot;;case&amp;quot;subcat&amp;quot;:return&amp;quot;#mw-subcategories li a&amp;quot;;case&amp;quot;file&amp;quot;:return&amp;quot;#mw-category-media li a.galleryfilename&amp;quot;}})).join(&amp;quot;,&amp;quot;),o=r.find(a).map(((e,t)=&amp;gt;t.classList.contains(&amp;quot;CategoryTreeLabel&amp;quot;)?`Category:${$(t).text()}`:t.classList.contains(&amp;quot;galleryfilename&amp;quot;)?`File:${$(t).text()}`:$(t).text())).get();if(n.push(...o),t.includes(&amp;quot;page&amp;quot;)){const e=r.find(&amp;#039;a[href*=&amp;quot;&amp;amp;pagefrom=&amp;quot;]&amp;#039;);e.length&amp;amp;&amp;amp;await i(e.eq(0).attr(&amp;quot;href&amp;quot;))}if(t.includes(&amp;quot;subcat&amp;quot;)){const e=r.find(&amp;#039;a[href*=&amp;quot;&amp;amp;subcatfrom=&amp;quot;]&amp;#039;);e.length&amp;amp;&amp;amp;await i(e.eq(0).attr(&amp;quot;href&amp;quot;))}if(t.includes(&amp;quot;file&amp;quot;)){const e=r.find(&amp;#039;a[href*=&amp;quot;&amp;amp;filefrom=&amp;quot;]&amp;#039;);e.length&amp;amp;&amp;amp;await i(e.eq(0).attr(&amp;quot;href&amp;quot;))}};await i(`/${e}?action=render`)}return n},w=async e=&amp;gt;{const t=new mw.Api,i=await t.post({action:&amp;quot;query&amp;quot;,prop:&amp;quot;revisions&amp;quot;,titles:e,rvprop:&amp;quot;content&amp;quot;}),[n]=Object.values(i.query.pages);if(&amp;quot;revisions&amp;quot;in n)return n.revisions?.[0][&amp;quot;*&amp;quot;];if(&amp;quot;missing&amp;quot;in n)throw&amp;quot;missingtitle&amp;quot;};const b=async(e,t,i=!1)=&amp;gt;{const n=new mw.Api;return function(e,t=!1,i,n){const r=$(`&amp;lt;td colspan=&amp;quot;${e?2:1}&amp;quot; class=&amp;quot;diff-otitle&amp;quot; /&amp;gt;`),a=$(`&amp;lt;td colspan=&amp;quot;${e?2:1}&amp;quot; class=&amp;quot;diff-ntitle&amp;quot; /&amp;gt;`);Array.isArray(i)?r.append(...i):r.append(i||&amp;quot;旧版本&amp;quot;),Array.isArray(n)?a.append(...n):a.append(n||&amp;quot;新版本&amp;quot;);const o=$(&amp;#039;&amp;lt;tr class=&amp;quot;diff-title&amp;quot; /&amp;gt;&amp;#039;).append(r,a);return $(&amp;#039;&amp;lt;table class=&amp;quot;diff diff-contentalign-left&amp;quot; data-mw=&amp;quot;interface&amp;quot; /&amp;gt;&amp;#039;).append(e&amp;amp;&amp;amp;&amp;#039;&amp;lt;colgroup&amp;gt;&amp;lt;col class=&amp;quot;diff-marker&amp;quot;&amp;gt;&amp;lt;col class=&amp;quot;diff-content&amp;quot;&amp;gt;&amp;lt;col class=&amp;quot;diff-marker&amp;quot;&amp;gt;&amp;lt;col class=&amp;quot;diff-content&amp;quot;&amp;gt;&amp;lt;/colgroup&amp;gt;&amp;#039;,$(&amp;quot;&amp;lt;tbody /&amp;gt;&amp;quot;).append(t?o:&amp;quot;&amp;quot;,e||&amp;#039;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;diff-notice&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-diff-empty&amp;quot;&amp;gt;（没有差异）&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#039;))}((await n.post({action:&amp;quot;compare&amp;quot;,fromtext:e,totext:t,topst:!0,fromtitle:&amp;quot;PAGENAME&amp;quot;})).compare[&amp;quot;*&amp;quot;],i)},v=e=&amp;gt;e.split(&amp;quot;\n&amp;quot;).filter((e=&amp;gt;e&amp;amp;&amp;amp;e.trim()));var x=i(781),k={};k.styleTagTransform=u(),k.setAttributes=c(),k.insert=s().bind(null,&amp;quot;head&amp;quot;),k.domAPI=a(),k.insertStyleElement=p();n()(x.A,k);x.A&amp;amp;&amp;amp;x.A.locals&amp;amp;&amp;amp;x.A.locals;$((()=&amp;gt;(async()=&amp;gt;{if(&amp;quot;Special:MassEdit&amp;quot;!==mw.config.get(&amp;quot;wgPageName&amp;quot;))return await mw.loader.using(&amp;quot;mediawiki.util&amp;quot;),void mw.util.addPortletLink(&amp;quot;p-tb&amp;quot;,&amp;quot;/Special:MassEdit&amp;quot;,&amp;quot;批量编辑&amp;quot;,&amp;quot;t-massedit&amp;quot;);await mw.loader.using([&amp;quot;mediawiki.api&amp;quot;,&amp;quot;oojs-ui&amp;quot;]);const e=new mw.Api;let t,i=&amp;quot;waiting&amp;quot;,n=!1;const r=new h([{name:&amp;quot;success&amp;quot;,icon:&amp;quot;✓&amp;quot;,color:&amp;quot;#333&amp;quot;,text:&amp;quot;已完成&amp;quot;},{name:&amp;quot;nochange&amp;quot;,icon:&amp;quot;○&amp;quot;,color:&amp;quot;#888&amp;quot;,text:&amp;quot;无变化&amp;quot;},{name:&amp;quot;warn&amp;quot;,icon:&amp;quot;!&amp;quot;,color:&amp;quot;#f28500&amp;quot;,text:&amp;quot;警告&amp;quot;},{name:&amp;quot;error&amp;quot;,icon:&amp;quot;✕&amp;quot;,color:&amp;quot;#eb3941&amp;quot;,text:&amp;quot;出错&amp;quot;}],&amp;quot;massedit-log&amp;quot;,&amp;quot;h5&amp;quot;);mw.loader.load(&amp;quot;https://mzh.moegirl.org.cn/index.php?title=User:Nzh21/js/QuickDiff.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&amp;quot;),$(document.head).append(`&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;${mw.config.get(&amp;quot;wgLoadScript&amp;quot;)}?debug=false&amp;amp;modules=mediawiki.diff.styles&amp;amp;only=styles&amp;quot; /&amp;gt;`);const a=mw.config.get(&amp;quot;wgUserGroups&amp;quot;).includes(&amp;quot;bot&amp;quot;)?&amp;quot;Bot&amp;quot;:&amp;quot;Automation tool&amp;quot;;mw.config.set(&amp;quot;wgCanonicalSpecialPageName&amp;quot;,&amp;quot;MassEdit&amp;quot;),document.title=&amp;quot;批量编辑 - 萌娘百科_万物皆可萌的百科全书&amp;quot;,$(&amp;quot;.mw-invalidspecialpage&amp;quot;).removeClass(&amp;quot;mw-invalidspecialpage&amp;quot;),$(&amp;quot;#firstHeading&amp;quot;).html(&amp;#039;批量编辑页面&amp;lt;div&amp;gt;By &amp;lt;a href=&amp;quot;/User:BearBin&amp;quot;&amp;gt;BearBin&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;),$(&amp;quot;#contentSub&amp;quot;).remove();const o=$(&amp;#039;&amp;lt;textarea name=&amp;quot;me-edit-from&amp;quot; rows=&amp;quot;4&amp;quot;/&amp;gt;&amp;#039;),s=$(&amp;#039;&amp;lt;textarea name=&amp;quot;me-change-to&amp;quot; rows=&amp;quot;4&amp;quot;/&amp;gt;&amp;#039;),l=$(&amp;#039;&amp;lt;textarea name=&amp;quot;me-page-list&amp;quot; rows=&amp;quot;12&amp;quot;/&amp;gt;&amp;#039;),c=$(&amp;#039;&amp;lt;textarea name=&amp;quot;me-category-list&amp;quot; rows=&amp;quot;12&amp;quot;/&amp;gt;&amp;#039;),d=new OO.ui.CheckboxInputWidget({id:&amp;quot;me-regex-box&amp;quot;}),p=new OO.ui.FieldLayout(d,{label:&amp;quot;使用正则表达式&amp;quot;,align:&amp;quot;inline&amp;quot;}),m=new OO.ui.ButtonWidget({label:&amp;quot;常用正则&amp;quot;,icon:&amp;quot;help&amp;quot;}),u=new OO.ui.ButtonWidget({label:&amp;quot;提交&amp;quot;,flags:[&amp;quot;primary&amp;quot;,&amp;quot;progressive&amp;quot;],icon:&amp;quot;check&amp;quot;}),g=new OO.ui.ButtonWidget({label:&amp;quot;终止&amp;quot;,flags:[&amp;quot;primary&amp;quot;,&amp;quot;destructive&amp;quot;],icon:&amp;quot;close&amp;quot;}),f=new OO.ui.TextInputWidget({type:&amp;quot;number&amp;quot;,placeholder:&amp;quot;编辑间隔&amp;quot;,id:&amp;quot;me-interval&amp;quot;}),x=new OO.ui.TextInputWidget({placeholder:&amp;quot;附加摘要&amp;quot;,id:&amp;quot;me-summary&amp;quot;}),k=new OO.ui.ButtonWidget({label:&amp;quot;预览&amp;quot;,icon:&amp;quot;search&amp;quot;,disabled:!0}),T=new OO.ui.TextInputWidget({placeholder:&amp;quot;要应用本编辑的页面&amp;quot;}).on(&amp;quot;change&amp;quot;,(e=&amp;gt;{e?.length?k.setDisabled(!1):k.setDisabled(!0)})),O=new OO.ui.TextInputWidget({type:&amp;quot;number&amp;quot;,placeholder:&amp;quot;0&amp;quot;,id:&amp;quot;me-retry-times&amp;quot;,disabled:!0}),E=new OO.ui.CheckboxInputWidget,L=new OO.ui.FieldLayout(E.on(&amp;quot;change&amp;quot;,(()=&amp;gt;{O.setDisabled(!E.isSelected())})),{label:&amp;quot;因网络问题出错时，重试至多&amp;quot;,align:&amp;quot;inline&amp;quot;,id:&amp;quot;me-use-retry&amp;quot;});$(&amp;quot;#mw-content-text&amp;quot;).empty().append(&amp;quot;&amp;lt;h5&amp;gt;原文字：&amp;lt;/h5&amp;gt;&amp;quot;,o,&amp;quot;&amp;lt;h5&amp;gt;替换为：&amp;lt;/h5&amp;gt;&amp;quot;,s,$(&amp;#039;&amp;lt;div id=&amp;quot;me-regex&amp;quot;/&amp;gt;&amp;#039;).append(p.$element,m.$element),$(&amp;quot;&amp;lt;ul/&amp;gt;&amp;quot;).append(&amp;quot;&amp;lt;li&amp;gt;正则表达式须使用斜线包裹（如&amp;lt;code&amp;gt;/regex/g&amp;lt;/code&amp;gt;），且&amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;为必须，否则无法被js解析。&amp;lt;/li&amp;gt;&amp;quot;,&amp;quot;&amp;lt;li&amp;gt;替换后文本若有换行请直接敲回车，不要用&amp;lt;code&amp;gt;\\n&amp;lt;/code&amp;gt;。&amp;lt;/li&amp;gt;&amp;quot;),$(&amp;#039;&amp;lt;div id=&amp;quot;me-page-lists&amp;quot;/&amp;gt;&amp;#039;).append($(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).append(&amp;quot;&amp;lt;h5&amp;gt;页面&amp;lt;/h5&amp;gt;&amp;quot;,l),$(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;).append(&amp;quot;&amp;lt;h5&amp;gt;分类&amp;lt;/h5&amp;gt;&amp;quot;,c)),$(&amp;#039;&amp;lt;div id=&amp;quot;me-pages-note&amp;quot;/&amp;gt;&amp;#039;).append(&amp;quot;输入要编辑的页面或分类，&amp;quot;,&amp;quot;&amp;lt;u&amp;gt;每行一个&amp;lt;/u&amp;gt;&amp;quot;,&amp;quot;；分类栏请带上 分类/Category/Cat 等能被系统识别的分类名字空间前缀。&amp;quot;),$(&amp;#039;&amp;lt;div id=&amp;quot;me-edit-panel&amp;quot; class=&amp;quot;me-panel&amp;quot;/&amp;gt;&amp;#039;).append(u.$element,g.$element.hide(),f.$element,x.$element),$(&amp;#039;&amp;lt;div id=&amp;quot;me-preview-panel&amp;quot; class=&amp;quot;me-panel&amp;quot;/&amp;gt;&amp;#039;).append(k.$element,T.$element),$(&amp;#039;&amp;lt;div id=&amp;quot;me-retry&amp;quot;/&amp;gt;&amp;#039;).append(L.$element,O.$element,&amp;quot;次&amp;quot;),$(&amp;quot;&amp;lt;ul/&amp;gt;&amp;quot;).append(&amp;quot;&amp;lt;li&amp;gt;编辑间隔单位为秒（s），不填默认为20s。不包含本身编辑页面所用的时间。&amp;lt;/li&amp;gt;&amp;quot;,&amp;#039;&amp;lt;li&amp;gt;请注意&amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;/萌娘百科:机器用户&amp;quot;&amp;gt;机器用户方针&amp;lt;/a&amp;gt;所规定速率和&amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;/api.php?action=query&amp;amp;meta=userinfo&amp;amp;uiprop=ratelimits&amp;quot;&amp;gt;ratelimit限制&amp;lt;/a&amp;gt;并自行设置间隔，或申请机器用户权限。&amp;lt;/li&amp;gt;&amp;#039;),r.element,$(&amp;quot;&amp;lt;ul/&amp;gt;&amp;quot;).append(&amp;quot;&amp;lt;li&amp;gt;报错“http”不一定是编辑失败，可能实际已提交但等待成功信息过久而判定超时。&amp;lt;/li&amp;gt;&amp;quot;));const S=e=&amp;gt;new Promise((i=&amp;gt;t=setTimeout(i,e))),A=()=&amp;gt;{i=&amp;quot;waiting&amp;quot;,clearTimeout(t),g.setDisabled(!0).$element.hide(),u.setDisabled(!1).$element.show(),$(&amp;quot;#mw-content-text input, #mw-content-text textarea&amp;quot;).prop(&amp;quot;disabled&amp;quot;,!1),window.onbeforeunload=()=&amp;gt;null},_=async e=&amp;gt;{const t=[],i=e.map((async e=&amp;gt;{try{const i=await y(e);i.length&amp;gt;0?(r.record(`获取到【&amp;lt;a href=&amp;quot;/${e}&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;${e}&amp;lt;/a&amp;gt;】内的页面${i.length}个。`,&amp;quot;normal&amp;quot;),t.push(...i)):r.record(`【${e}】内没有页面。`,&amp;quot;warn&amp;quot;)}catch(t){let i=&amp;quot;&amp;quot;;if(&amp;quot;http&amp;quot;===t)i=&amp;quot;网络连接出错&amp;quot;;else i=t;r.record(`获取【${e}】内的页面出错：${i}。`,&amp;quot;error&amp;quot;)}}));return await Promise.all(i),t},C=(e,t)=&amp;gt;{let i=e;if(t)try{const t=e.match(/^\/(.*)\/([gimsuy]*)$/);if(!t)return r.record(&amp;quot;正则表达式格式有误。&amp;quot;,&amp;quot;warn&amp;quot;),&amp;quot;&amp;quot;;const[n,a,o]=t;if(!o.includes(&amp;quot;g&amp;quot;))return r.record(&amp;quot;正则表达式必须包含全局匹配(g)修饰符。&amp;quot;,&amp;quot;warn&amp;quot;),&amp;quot;&amp;quot;;i=new RegExp(a,o)}catch(e){return void r.record(`正则表达式解析失败：${e}`,&amp;quot;error&amp;quot;)}return i},B=async(t,o,s,l)=&amp;gt;{const c=E.isSelected();let d=0;const p=+O.getValue(),m=`&amp;lt;a href=&amp;quot;/${t}&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;${t}&amp;lt;/a&amp;gt;`;do{try{i=&amp;quot;getting&amp;quot;;const c=await w(t),d=c.replaceAll(s,l);if(c===d)return r.record(`【${m}】编辑前后无变化。`,&amp;quot;nochange&amp;quot;),&amp;quot;nochange&amp;quot;;if(n)return&amp;quot;failed&amp;quot;;i=&amp;quot;editing&amp;quot;;const p=await e.postWithToken(&amp;quot;csrf&amp;quot;,{format:&amp;quot;json&amp;quot;,action:&amp;quot;edit&amp;quot;,watchlist:&amp;quot;nochange&amp;quot;,tags:a,bot:!0,minor:!0,nocreate:!0,title:t,text:d,summary:`[[U:BearBin/js#MassEdit|MassEdit]]：【${s.toString().replace(/\n/g,&amp;quot;↵&amp;quot;)}】→【${l.replace(/\n/g,&amp;quot;↵&amp;quot;)}】${o&amp;amp;&amp;amp;`：${o}`}`});return i=&amp;quot;waiting&amp;quot;,p?.edit?.newrevid?(r.record(`【&amp;lt;a href=&amp;quot;/_?diff=${p.edit.newrevid}&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;${t}&amp;lt;/a&amp;gt;】编辑完成。`,&amp;quot;success&amp;quot;),&amp;quot;success&amp;quot;):p?.edit?.abusefilter?(r.record(`【${m}】编辑失败：被滥用过滤器${p.edit.abusefilter.id}阻止。过滤器描述：${p.edit.abusefilter.description}。`,&amp;quot;error&amp;quot;),&amp;quot;failed&amp;quot;):(r.record(`【${m}】编辑失败，请将以下内容告知&amp;lt;a href=&amp;quot;/User_talk:BearBin&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;BearBin&amp;lt;/a&amp;gt;：${JSON.stringify(p)}`,&amp;quot;error&amp;quot;),&amp;quot;failed&amp;quot;)}catch(e){let i=&amp;quot;&amp;quot;;switch(e){case&amp;quot;missingtitle&amp;quot;:i=&amp;quot;页面不存在&amp;quot;;break;case&amp;quot;http&amp;quot;:d++,i=c&amp;amp;&amp;amp;d&amp;lt;=p?`网络连接出错，正在重试（${d}/${p}）`:&amp;quot;网络连接出错&amp;quot;;break;case&amp;quot;protectedpage&amp;quot;:i=&amp;quot;页面被保护&amp;quot;;break;default:i=e}if(r.record(`编辑【&amp;lt;a href=&amp;quot;/${t}?action=history&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;${t}&amp;lt;/a&amp;gt;】时出现错误：${i}。`,&amp;quot;error&amp;quot;),!c||&amp;quot;http&amp;quot;!==e)return&amp;quot;failed&amp;quot;}}while(d&amp;lt;=p);return&amp;quot;failed&amp;quot;};u.on(&amp;quot;click&amp;quot;,(async()=&amp;gt;{if(!o.val())return void r.record(&amp;quot;请输入要替换的原文字。&amp;quot;,&amp;quot;warn&amp;quot;);if(!l.val()&amp;amp;&amp;amp;!c.val())return void r.record(&amp;quot;请输入要编辑的页面或分类。&amp;quot;,&amp;quot;warn&amp;quot;);const e=$(&amp;quot;&amp;lt;p&amp;gt;请确认您的编辑内容。若因输入不当而产生错误，请自行&amp;lt;ruby&amp;gt;承担后果&amp;lt;rp&amp;gt;(&amp;lt;/rp&amp;gt;&amp;lt;rt&amp;gt;料理后事&amp;lt;/rt&amp;gt;&amp;lt;rp&amp;gt;)&amp;lt;/rp&amp;gt;&amp;lt;/ruby&amp;gt;。&amp;lt;/p&amp;gt;&amp;quot;);if(await OO.ui.confirm(e,{title:&amp;quot;提醒&amp;quot;,size:&amp;quot;small&amp;quot;})){const e=x.getValue(),t=1e3*+(&amp;quot;&amp;quot;===f.getValue()?20:f.getValue()),i=C(o.val(),d.isSelected()),a=s.val();if(!i)return;u.setDisabled(!0).$element.hide(),g.setDisabled(!1).$element.show(),$(&amp;quot;#mw-content-text input, #mw-content-text textarea&amp;quot;).prop(&amp;quot;disabled&amp;quot;,!0),window.onbeforeunload=()=&amp;gt;!0,await(async()=&amp;gt;[...new Set([...v(l.val()||&amp;quot;&amp;quot;),...await _(v(c.val()||&amp;quot;&amp;quot;))])])().then((async o=&amp;gt;{let s=0;const{length:l}=o;r.record(`共${l}个页面，即将开始编辑……`,&amp;quot;normal&amp;quot;);for(const r of o){const o=await B(r,e,i,a);if(s++,n)break;&amp;quot;success&amp;quot;===o&amp;amp;&amp;amp;0!==t&amp;amp;&amp;amp;s&amp;lt;l&amp;amp;&amp;amp;await S(t)}n?(n=!1,r.record(&amp;quot;编辑终止。&amp;quot;,&amp;quot;normal&amp;quot;)):r.record(&amp;quot;编辑完毕。&amp;quot;,&amp;quot;normal&amp;quot;),A()})),A()}})),g.on(&amp;quot;click&amp;quot;,(()=&amp;gt;{switch(g.setDisabled(!0),i){case&amp;quot;waiting&amp;quot;:n=!1,A(),r.record(&amp;quot;编辑终止。&amp;quot;,&amp;quot;normal&amp;quot;);break;case&amp;quot;getting&amp;quot;:n=!0,A();break;case&amp;quot;editing&amp;quot;:n=!0}})),k.on(&amp;quot;click&amp;quot;,(()=&amp;gt;{const e=o.val();if(!e)return void r.record(&amp;quot;请输入要替换的原文字。&amp;quot;,&amp;quot;warn&amp;quot;);const t=C(e,d.isSelected());t&amp;amp;&amp;amp;(async(e,t,i)=&amp;gt;{k.setDisabled(!0),r.record(&amp;quot;正在获取预览……&amp;quot;);try{const n=await w(e);if(!n)return void r.record(`获取${e}当前内容出错。`,&amp;quot;error&amp;quot;);const a=n.replaceAll(t,i),o=await b(n,a,!0);OO.ui.alert($(o),{title:$(`&amp;lt;span&amp;gt;预览&amp;lt;b&amp;gt;【${e}】&amp;lt;/b&amp;gt;的更改&amp;lt;/span&amp;gt;`),size:&amp;quot;larger&amp;quot;})}catch(e){r.record(`预览出错：${e}。`,&amp;quot;error&amp;quot;)}k.setDisabled(!1)})(T.getValue(),t,s.val())}));const M=$(&amp;#039;&amp;lt;ul id=&amp;quot;me-regex-help-list&amp;quot;/&amp;gt;&amp;#039;).append(`&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;${/\[\[(?:Category|Cat|分[类類]):分类名(\|[^[]*)?\]\]/gi.toString()}&amp;lt;/code&amp;gt;：匹配分类&amp;lt;/li&amp;gt;`,`&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;${/\{\{(?:Template:|T:|[模样樣]板:)?模板名/gi.toString()}&amp;lt;/code&amp;gt;：匹配模板（不含内容）&amp;lt;/li&amp;gt;`,`&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;${/^.*$/gs.toString()}&amp;lt;/code&amp;gt;：匹配全文（感谢鬼影）&amp;lt;/li&amp;gt;`);m.on(&amp;quot;click&amp;quot;,(()=&amp;gt;{OO.ui.alert(M,{title:&amp;quot;常用正则表达式&amp;quot;,size:&amp;quot;medium&amp;quot;})}))})()))})()})();&lt;br /&gt;
 &lt;br /&gt;
// &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>镜华酱</name></author>
	</entry>
</feed>