C# 正则表达式

· 约 5 分钟读完 · 第 26 / 39 章

正则表达式是一种强大的文本处理工具,用于匹配、查找、替换等操作。C# 提供了对正则表达式的强大支持,这使得它在处理复杂的文本匹配和操作任务时非常有用。

正则表达式基础

什么是正则表达式?

正则表达式是一组特殊的字符,用来描述在搜索文本时如何匹配一系列字符串的模式。这些模式可以用于验证输入数据、搜索和替换文本中的特定内容等。

正则表达式的基本语法

字符匹配

  • .:匹配任何单个字符。
  • a:匹配字母 'a'。
  • [abc]:匹配括号内的任意一个字符,例如 "a", "b" 或 "c"。
  • [^abc]:匹配不在括号内的任意一个字符。

量词

  • *:匹配前面的子表达式零次或多次。
  • +:匹配前面的子表达式一次或多次。
  • ?:匹配前面的子表达式零次或一次。
  • {n}:精确匹配 n 次。
  • {n,}:至少匹配 n 次。
  • {n,m}:匹配至少 n 次,但不超过 m 次。

锚点

  • ^:匹配输入字符串的开始位置。
  • $:匹配输入字符串的结束位置。

分组

  • ():分组并捕获匹配的文本。

逻辑运算符

  • |:表示“或”关系,匹配两侧任一表达式。

C# 中的正则表达式类

Regex 类

System.Text.RegularExpressions 命名空间提供了 Regex 类,该类包含大量用于处理正则表达式的静态方法。

常见方法

  • Match:返回与正则表达式匹配的第一个匹配项。
  • Matches:返回与正则表达式匹配的所有匹配项。
  • Replace:返回将输入字符串中所有匹配项替换为指定字符串后的结果。
  • Split:根据正则表达式拆分字符串。

示例代码

实际应用案例

验证电子邮件地址

密码强度检查

总结

正则表达式是一个强大的工具,用于处理各种文本相关的任务。通过学习基本语法和 C# 中的 Regex 类,你可以高效地进行文本匹配、替换和分割操作。希望本章的内容能够帮助你更好地理解和使用正则表达式。