活动介绍

C#正则表达式整理备忘.doc

preview
需积分: 0 7 下载量 7 浏览量 更新于2009-10-25 收藏 274KB DOC 举报
【C#正则表达式整理备忘】 C#正则表达式是一种强大的文本处理工具,广泛应用于字符串的验证、搜索和替换。以下是一些关键概念和语法的详细说明: 1. **逐字字符串(@)** 在C#中,使用`@`符号可以创建逐字字符串(verbatim string literal)。这表示字符串中的反斜杠 `\` 不会被视为转义字符,而是直接解释为文本。例如,`@"D:\My Huang\My Doc"` 可以正确地包含路径,而无需额外的转义。 2. **基本的语法字符** - `\d` 匹配0-9的数字。 - `\D` 匹配非数字字符。 - `\w` 匹配字母、数字和下划线,相当于单词字符。 - `\W` 匹配非单词字符。 - `\s` 匹配空白字符,包括换行、回车、制表符等。 - `\S` 匹配非空白字符。 - `.` 匹配除换行符外的任意字符。 - `[…]` 匹配括号内的字符集合。 - `[^…]` 匹配不在括号内的字符。 3. **定位字符** - `^` 表示字符串的开始。 - `$` 表示字符串的结束。 - `\b` 匹配单词边界。 - `\B` 匹配非单词边界。 - `\A` 和 `\z` 与 `^` 和 `$` 类似,但更严格地限定在字符串的开头和结尾。 - `\Z` 匹配字符串末尾,或换行符前。 4. **重复描述字符** - `{n}` 重复前面的字符n次。 - `{n,}` 重复至少n次。 - `{n,m}` 重复n到m次。 - `?` 重复0或1次。 - `+` 重复1次或更多次。 - `*` 重复0次或更多次。 5. **择一匹配** 使用 `(|)` 符号可以选择匹配括号内的多个表达式之一。例如,`(ab|xy)` 匹配 "ab" 或 "xy"。 6. **特殊字符的匹配** 特殊字符可以通过在其前添加反斜杠 `\` 进行转义,如`\(`、`\)`、`\+`等,使其失去特殊含义。 7. **组与非捕获组** `(…)` 用来创建一个捕获组,捕获的文本可以在后续操作中使用。 `(?:…)` 创建非捕获组,不保存捕获的文本。 8. **贪婪与非贪婪** 默认情况下,正则表达式引擎是贪婪的,会尽可能多地匹配字符。添加 `?` 到 `*`, `+`, 或 `{n,m}` 后可以使匹配变得非贪婪,即尽可能少地匹配字符。 9. **回溯与非回溯** 使用 `(?>…)` 创建非回溯断言,防止引擎在无法匹配时回溯。 10. **正向预搜索与反向预搜索** - 正向预搜索 `(?=…)` 匹配但不包含紧跟在后面的模式。 - 负向预搜索 `(?!…)` 匹配不紧跟在后面的模式。 - 反向预搜索 `(?<=…)` 和 `(?!<…)` 分别匹配前文满足和不满足特定条件的位置。 11. **十六进制字符范围** - `\xXX` 匹配编号为0-255的字符。 - `\uXXXX` 匹配任何字符,使用4位16进制数表示。 12. **匹配[0,100]的示例** 要匹配0到100之间的整数或浮点数,需考虑各种情况,如允许前导零、小数点、小数部分等,同时排除无效输入。完整的正则表达式可能会相当复杂,通常需要结合实际需求来编写。 这些是C#正则表达式的一些基本要素,它们提供了灵活的字符串处理能力。通过组合这些元素,开发者可以构建出复杂的模式来处理各种文本处理任务。理解和掌握正则表达式对于提升C#编程能力至关重要。
身份认证 购VIP最低享 7 折!
30元优惠券
sohopk
  • 粉丝: 1
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜

最新资源