跳至內容

維基百科: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.