(|)(ab|xy) 匹配 ab 或 xy。注意 | 與 () 為整體。
範例:匹配 0-100 數值:
Regex r = new Regex(@"^\+?((100(.0+)*)|([1-9]?[0-9])(\.\d+)*)$");
外層括號包含兩部分:100(.0+)* 與 [1-9]?[0-9](\.\d+)* 為 OR 關係,引擎優先嘗試匹配 100,失敗則匹配 0-99.9...。
// 匹配反斜線 \
string x = "\\";
Regex r1 = new Regex("^\\\\$"); // 雙重轉義
Regex r2 = new Regex(@"^\\$"); // 逐字字串
Regex r3 = new Regex("^\\$"); // 錯誤:$ 為結尾錨點
// 匹配雙引號 "
string x = "\"";
Regex r1 = new Regex("^\"$");
Regex r2 = new Regex(@"^""$");
| 語法 | 含義 |
|---|---|
{n} | 前一字符恰好 n 次 |
{n,} | 前一字符 n 次或更多 |
{n,m} | 前一字符 n 到 m 次 |
? | 前一字符 0 或 1 次 |
+ | 前一字符 1 次或更多 |
* | 前一字符 0 次或更多 |
這是正則表達式「很好很強大」的核心體現。