首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> C# 入門

C# 正則表達式完整參考:Regex/模式/字符類/定位/分組/替換/實戰

     編輯:C# 入門

C# 正則表達式完整參考:Regex/模式/字符類/定位/分組/替換/實戰

正則表達式定義文本匹配模式。.NET 提供 System.Text.RegularExpressions.Regex 引擎,支援豐富語法元素。

核心語法分類

類別關鍵構造
字符轉義\a \b \t \r \n \v \f \e \nnn \xnn \cX \unnnn \\
字符類[abc] [^abc] [a-z] . \w \W \s \S \d \D \p{name} \P{name}
定位點^ $ \A \Z \z \G \b \B
分組(sub) (?) (?:) (?=) (?!) (?<=) (?)
限定符* + ? {n} {n,} {n,m} *? +? ?? {n}? {n,}? {n,m}?
反向引用\1 \k
備選| (?(expr)yes|no) (?(name)yes|no)
替換$n ${name} $$ $& $` $' $+ $_

Regex 類常用方法

  • IsMatch(input):是否匹配
  • Matches(input):所有匹配集合
  • Replace(input, replacement):替換匹配
  • Split(input):按模式分割

實戰示例

// 1. 以 S 開頭的單詞
Regex.Matches("A Thousand Splendid Suns", @"\bS\S*")
// Splendid, Suns

// 2. 以 m 開頭 e 結尾
Regex.Matches("make maze manage measure", @"\bm\S*e\b")
// make, maze, manage, measure

// 3. 合并多餘空格
Regex.Replace("Hello    World", @"\s+", " ")
// "Hello World"

最佳實踐

  • 複雜模式使用 @ 逐字字符串避免雙重轉義
  • 預編譯 new Regex(pattern, RegexOptions.Compiled) 提升重用性能
  • 注意貪婪與非貪婪限定符區別
  • 命名捕獲組 (?...) 增強可讀性
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved