表示式

您可以利用 DOS 表示式和正規表示式來指定內容表文字輸入欄位內的型樣。工作內容表接受正規表示式,但不接受 DOS 表示式。除了 XRule,大部分報告套件內容表都不接受正規表示式,但接受 DOS 表示式。產品始終使用單一正規表示式引擎,採用 Microsoft 的 .NET 2.0 語法。

接受正規表示式的工作內容表部分範例包括:排除項目、伺服器和網域,以及 XRule。

您可以利用表示式,在單一陳述式內定義符合特定需求的 URL 群組。比方說,您可以利用 DOS 表示式 *MyProduct*.htm 來指定,要從報告套件中排除特定產品的頁面。

DOS 語法

* 代表任何字元或字元字串,*a* 會得出所有名稱含有 `a" 字元的檔案。

? 代表單一字元,??c 會得出每個結尾是 `c" 字元的三字元名稱。

正規表示式語法

正規表示式的字首必須是 regexp:,掃描工作才能將它與純文字項目區分開來。正規表示式所用的語法遵循 .Net 2.0 的語法。

下表說明正規表示式支援的部分特殊字元和指令。在 Microsoft 所提供的 .NET 2.0 正規表示式引擎說明文件中,可以找到較完整的支援語法清單。

1. 有效的正規表示式語法和指令
語法 說明
^ 符合字串的開頭。這個語法假設字串在 ^ 之前沒有任何字元。比如說,假設您有兩個 URL:http://www.example.com/support/index.asp 和 http://support.example.com/index.asp?URL=http://www.example.com。^http://www\.example\.com 這個表示式只符合第一個 URL,不符合第二個。
$ 符合字串結尾。
? P? - P 選擇性出現(0 或 1 個)。
* P* - 重複 0 或多個 P。
+ P + - 重複 1 或多個 P。
| P |Q - P 或 Q。
\ \X - 跳出 ()?*+|\.[]^$ 其中一個字元,否則,系統便會將其當作特殊字元來解譯。
句點符合任何單一字元。
[ ] 方括弧中的字元範圍,如 c[a-o]t,或其中任何一個字元,c[aou]t。
( ) (ab|cd)?ef - 將一系列正規表示式組合起來,此例所符合者為 abef、cdef 和 ef。
- 如果您想要利用範圍(而不是字元本身)來表示相符字元,您可以利用連字號 (-) 字元,將其置於範圍內的起始字元與結尾字元之間。個別字元的字元值決定了它們在範圍內的相對順序。
<operator1>&&

<operator2>

<operator1>and

<operator2>

邏輯 AND。
<operator1>||<operator2>

<operator1>or

<operator2>

邏輯 OR。
!<operator1>not

<operator2>

邏輯 NOT。它需要右側運算元。如果運算子左側有表示式,它前面必須有二元運算子。例如,"A and not b" 正確,但 "A not b" 不正確。
"<string>" 文字字串。含指令的運算元可以放在雙引號定界的字串內。例如,"(Hello and Goodbye)"。請在文字字串內的雙引號前面,加一個反斜線。

正規表示式的範例

.* 任何字元序列

.*\. 任何字元序列,後面接著 .(句點)

註: 當正規表示式利用 .*?{1,x} 或 w+ 進行比對來擷取相符項週遭的文字時,要非常小心。它們可能大量增長掃描時間,因為它們會測試文件中的每個字元,以查看是否其為整個表示式的相符項。

在排除項目中: regexp:.*\.watch.*fire.* 會排除 http://www.watchoutforfiresinforest.com 以及 http://www.watch.com/products/firestone/index.asp