1. 程式人生 > >C# 正則表示式的一些語法筆記

C# 正則表示式的一些語法筆記

基礎語法看這裡:正則表示式語法

下面是一些其他要注意的點……


  • 反斜槓 + 元字元 表示匹配元字元本身。
    eg:元字元 . 表示除換行符以外的任意字元,而 \. 表示匹配 .

  • 一般定義正則表示式字串時會加上 @,表示不轉義。
    eg:string pattern = @"\bn\S*ion\b";

  • 如果要匹配雙引號則需要用兩個雙引號。
    eg:string pattern = "href=""\S+";

  • 可以把可替換的字元放在方括號中。
    eg:ma[n|p] 可匹配 manmap
    在方括號中,也可以制定一個範圍,例如 [a-z]

    表示所有的小寫字母(使用連字號 - 允許指定連續字元範圍),[B-F] 表示B到F之間的所有大寫字母,[0-9] 表示一個數字,如果要搜尋一個整數(該序列只包含0到9的字元),就可以編寫 [0-9]+

  • 可以使用影響匹配行為的選項修改正則表示式模式。
    eg:可以在 Regex(pattern, options) 建構函式中的 options 引數中指定正則表示式選項,其中 optionsRegexOptions 列舉值的按位“或”組合

  • 可以通過圓括號把任何字元組合成一個組。

  • 捕獲組&非捕獲組:
    正則基礎之——捕獲組
    正則基礎之——非捕獲組

  • 從匹配的組中取值。

string userName = match.Result("${userName}");
string email = match.Groups["email"].Value;
  • 命名捕獲組。
    (?<name>pattern)(?'name'pattern):匹配 pattern 並捕獲結果,設定 name 為組名。

  • 反向引用:
    正則基礎之——反向引用


參考文章:
C# 正則表示式的用法
正則表示式之捕獲組/非捕獲組