版权声明:本文为博主原创文章,未经博主允许不得转载。 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]
可匹配man
或map
。
在方括号中,也可以制定一个范围,例如[a-z]
表示所有的小写字母(使用连字号-
允许指定连续字符范围),[B-F]
表示B到F之间的所有大写字母,[0-9]
表示一个数字,如果要搜索一个整数(该序列只包含0到9的字符),就可以编写[0-9]+
。可以使用影响匹配行为的选项修改正则表达式模式。
eg:可以在Regex(pattern, options)
构造函数中的options
参数中指定正则表达式选项,其中options
是RegexOptions
枚举值的按位“或”组合。可以通过圆括号把任何字符组合成一个组。
捕获组&非捕获组:
正则基础之——捕获组
正则基础之——非捕获组从匹配的组中取值。
string userName = match.Result("${userName}");
string email = match.Groups["email"].Value;
命名捕获组。
(?<name>pattern)
或(?'name'pattern)
:匹配pattern
并捕获结果,设置name
为组名。反向引用:
正则基础之——反向引用
参考文章:
C# 正则表达式的用法
正则表达式之捕获组/非捕获组