跳转到内容

维基百科:AutoWikiBrowser/查找和替换

本页使用了标题或全文手工转换
维基百科,自由的百科全书
章節: 核心 · 数据库扫描器 · 搜尋和取代 · 規律表達式 · 常规修正(General fixes)
屏幕截图

一般用法

[编辑]
屏幕截图

搜尋和替换(Find and replace):

  • Ignore external/Interwiki links, images, nowiki, math, <!-- -->(忽略外部鏈結/跨維基鏈接、圖像、nowiki、數學符號、<!-- -->):如果選取此項,AWB將不會搜尋和替换這些項目。调用HideText.Hide() — 參見Hide documentation
  • Ignore templates, refs, link targets, and headings(忽略模板、引用、鏈接目標和標題):如果選取此項,AWB將不會搜尋和替换上一項與此項的項目。调用HideText.HideMore() — 參見HideMore documentation
  • Add replacements to edit summary(將替换添加到編輯摘要):如果選中,則AWB會將所做的替换添加到編輯摘要中,其長度限制為255 bytes。使用Wiki語法字符時要格外小心,這會使編輯摘要無效。
  • Search:(搜尋):在搜尋框輸入搜尋條件。
  • Go(開始):搜尋在搜尋框輸入的內容。
  • Clear(清除):清除所有規則。
  • OK:接受列出的規則並關閉窗口。
  • Cancel(取消):取消任何規則更改並關閉窗口。
Find:要查找的文字,亦可用以下關鍵字。
Replace with:要替换的文字,特殊字段包括:
$1$2等:如搜尋框的文字是正则表达式(regex)且已勾选“regex”,则会使用“Find”中的值。
正则表达式每對括號對應一串字串,如搜尋(123)4(56)78$1對應123;$2對應56。
AWB關鍵字将被替换为它们的值,如以下示例所示。這些關鍵字也适用于進階用法。
關鍵字 阿尔伯特·爱因斯坦
的值
Wikipedia:AutoWikiBrowser/查找和替换
的值
%%key%%
(人名排序字)
爱因斯坦, 阿尔伯特 查找和替换, AutoWikiBrowser
%%title%% 阿尔伯特·爱因斯坦 Wikipedia:AutoWikiBrowser/查找和替换
%%fullpagename%% 阿尔伯特·爱因斯坦 Wikipedia:AutoWikiBrowser/查找和替换
%%pagename%% 阿尔伯特·爱因斯坦 AutoWikiBrowser/查找和替换
%%subpagename%% 阿尔伯特·爱因斯坦 查找和替换
%%basepagename%% 阿尔伯特·爱因斯坦 AutoWikiBrowser
%%namespace%% Wikipedia
%%server%% http://zh.wikipedia.org http://zh.wikipedia.org
%%servername%% zh.wikipedia.org zh.wikipedia.org
%%scriptpath%% /w /w
要匹配换行符,请使用\n。自AWB Template:Awbsvn起可用於普通及正则表达式搜尋。
Case Sensitive:如果选中,查找将区分大小写。
Regex:如果选中,表示搜尋和替换的是正则表达式
Multiline:如果选中,表示AWB将处理正则表达式字符“^”和“$”,使其分别匹配行的开头和结尾,而不仅仅是整页的开头和结尾。在某些编程环境中,这被称为将页面视为多行字符串。
Singleline:如果选中,表示AWB将处理正则表达式字符“.”,使其匹配每个字符,而不是除“\n”之外的每个字符。在某些编程环境中,这被称为将页面视为单行字符串。“多行”和“单行”选项分别影响不同特殊字符的解释,且不是互斥的。
Minor:如果选中,AWB将此规则标记为次要规则。通过使用“Skip if: only minor replacement made”(仅在进行次要替换时跳过),如果唯一执行的替换规则是次要的,AWB将跳过该条目(这里的“执行替换”意味着规则匹配,而不是指已做更改)。替换的文本可能与匹配的文本完全相同。在这种情况下,虽然进行了替换,但替换的文本与条目中已有的文本完全相同。目前,标记为次要的查找和替换规则在发出重新解析页面的命令(在编辑框中按F5,或通过编辑框上下文菜单)时不会被执行。
After fixes:如果选中,AWB将在所有其他规则(general fixes、typos等)之后应用此规则。否则将在所有其他规则之前应用此规则。
Enabled:如選取表示啟用此規則;如無選取則停用。

進階用法

[编辑]
屏幕截图

該章節將告訴您如何為AWB設置特殊的搜尋和替换條件,可用普通文本或正则表达式來搜尋。

  • Main Menus:主選單
  • New:允許您選擇規則(Rules)或子規則(Subrules)。請參閱下面的規則類型。
  • Rule:各種編輯命令,包括撤消(Undo)、重做(Redo)、剪下(Cut)、複製(Copy)、貼上(Paste)、刪除(Delete)和刷新顏色。

  • Types of rules
  • Rule 每条规则都可以嵌套,如果最上面的规则得到满足,AWB就会处理其下的下一条规则。
Find and replace
In template call
Template parameter:常规规则,AWB将根据页面文本处理这些规则(如果启用)。
  • In Template Call Rule:这些规则只有在模板内才会被处理。
  • Template Parameter Rule:这些规则允许您更改模板参数名称。
  • Types of subrules
  • Rule:Same as a regular rule, but only acted upon if the regular rule is acted upon.
  • In Template Call Rule:Same as a regular in template call rule, but only acted upon if the regular in template call rule is acted upon.
  • Template Parameter Rule:Same as a regular template parameter rule, but only acted upon if the regular template parameter rule is acted upon.

  • Name:允许您为规则命名,以便您可以识别它。
  • Enabled:如果选中,规则被启用。如果未选中,则该规则将被AWB忽略。未选中的规则将在规则列表中以红色高亮显示。
  • Type
  • Entire text:允许您使用整个文本字符串进行搜索。
  • Inside template calls {{..}}:仅在模板内搜索。条目文本中的每个模板调用将被处理;如果有嵌套模板,则所有级别的嵌套模板将被处理,因此例如{{a|1={{b|2={{c|3=text}}}}}}规则将依次处理{{a|1={{b|2={{c|3=text}}}}}}和{{b|2={{c|3=text}}}}以及{{c|3=text}}。
  • Find:在此部分输入您的搜索条件。如果您勾选了页面底部的“Regular expression”(正则表达式),则您在这里输入的条件将被视为正则表达式;否则,它将作为常规文本进行搜索,不区分大小写。
  • Replace with::“Find”部分查找到的内容将被替换为的内容。
  • Regular expression:如果选中,表示查找条件是正则表达式。
  • Case sensitive:如果选中,表示查找条件区分大小写。
  • Multiline:如果选中,这表示AWB将处理正则表达式字符“^”和“$”,使其分别匹配行的开头和结尾,而不仅仅是整个字符串的开头和结尾。
  • Single line:如果选中,这表示AWB将处理正则表达式字符“.”,使其匹配每个字符,而不是除“\n”之外的每个字符。
  • Apply # times:用于特殊情况下,指示AWB对同一行多次迭代应用替换。
  • If
  • Contains:将检查页面是否包含文本。如果包含,AWB将应用在其他“查找”选项卡中定义的查找和替换规则。
  • Not Contains: 将检查页面是否包含文本。如果不包含,AWB将应用在其他“查找”选项卡中定义的查找和替换规则。
  • Regular expression:如果选中,表示查找条件是正则表达式。
  • Case sensitive:如果选中,表示查找条件区分大小写。
  • Multiline:如果选中,这表示AWB将处理正则表达式字符“^”和“$”,使其分别匹配行的开头和结尾,而不仅仅是整个字符串的开头和结尾。
  • Single line:如果选中,这表示 AWB 将处理正则表达式字符“.”,使其匹配每个字符,而不是除“\n”之外的每个字符。

模板替换

[编辑]

在编辑条目时,如果在模板名称的开头添加“subst:”(比如:{{subst:XYZ}}),该模板的维基代码就会被粘贴到文章的维基代码中(当您保存时),而不仅仅是显示(嵌入)到屏幕上。也就是说,模板名称(和大括号)会被模板内容替换(替代)。这就是所谓的替换引用。

如果您不知道什么是模板,请参见Help:Template。有关替换引用的更详细说明,请参见Help:替换引用

借助“模板替代”功能,AWB将为您添加“subst:”,而无需手动添加。只需在框中列出您希望替换引用的模板名称。

屏幕截图
  • Templates to substitute:每行一个,指定您希望被替换引用的每个模板的名称。它们可以是任何现有模板的名称。大括号和命名空间是可选的。例如:
ABC1({{ABC1}}或Template:ABC1也有效)
ABC2
ABC3
XYZ
Abracadabra
Alakazam
Turn this rabbit into a ham
(其他)
当您按下“start”(开始)时,AWB将查找每个模板名称(在条目中将用大括号包围),并将其(和大括号)替换为模板的全部内容(其维基文本)。如果在找到的模板实例中包含参数,例如{{Alakazam|scooby|doo}},AWB将运行该模板并将结果输出到文章中。
注意,如果您在“diff”(差异)中查看更改,模板将被替代。
  • Ignore external/interwiki links, images, nowiki, math and <!-- -->(忽略外部鏈結/跨維基鏈接、圖像、nowiki、數學符號、<!-- -->):如果選取此項,AWB將不會搜尋和替换這些項目。调用HideText.Hide() — 參見Hide documentation
  • Expand recursively(递归展开):如果模板是重定向,则获取其重定向目标,并用替换。
  • Include comment with template:包含模板名称的注释 - <!-- Template:Test -->
  • Clear:清除“Templates to substitute box”(要替代的模板框)的内容。
  • Reset:将模板列表恢复到上次按确定时输入的内容。
  • OK:提交用于重置的行。关闭窗口。
  • Cancel:取消并关闭窗口。
  • 无需使用此功能来替换此处列出的模板,如果打开了“General fixes”(常规修正),这些模板将被自动替换。

程序顺序

[编辑]

AWB按照以下顺序执行这些操作:

  1. 常规查找和替换(按列出顺序)
  2. 高级查找和替换(按指定规则)
  3. 模板替代
  4. 一般修复和错字(General Fixes & Typos)
  5. 标记为在一般修复后执行的常规查找和替换(Normal Find and Replace rules marked as to occur after General Fixes)

保存並恢復搜尋替换格式(Saving and restoring find-and-replace specifications)

[编辑]

The values you specify in the Find and replace entries are saved when you use the "Save settings" command under the "File" menu (along with other settings). The current entries are erased and the saved ones are restored when you use the "Open settings..." or "Recent settings..." commands.

There is no way to import new Find and replace entries other than directly editing a "settings" file of the kind generated by the "Save settings" command (and then opening it as a settings file). This file is in XML format and so appears as editable text if opened in a text editor.

A list of user contributed settings is available.