C# 正则表达式的一些语法笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Dandelion_drq/article/details/63836415

基础语法看这里:正则表达式语法

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


  • 反斜杠 + 元字符 表示匹配元字符本身。
    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# 正则表达式的用法
正则表达式之捕获组/非捕获组

猜你喜欢

转载自blog.csdn.net/Dandelion_drq/article/details/63836415
今日推荐