简要介绍C#中正则表达式Regex的match和matches方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简要介绍C#中正则表达式Regex的match和matches方法相关的知识,希望对你有一定的参考价值。
如题,谁有经验的讲讲,在vs里标明它们分别返回match和matchcollection类型,不懂呢?一般怎么用?
比方说,我定义一个字符串string s="aaaa(bbb)aaaaaaaaa(bb)aaaaaa" ,写一个正则表达式来匹配括号中的内容:\(/w+\)
就可以用match方法得到匹配字符串result="(bbb)"或者"(bb)"
用matches方法得到字符串组result[2]="(bbb)","(bb)"
是这样吗?是的话代码怎么写呢?
解决了我再加50分
简要介绍C#中正则表达式Regex的match和matches方法
string s = "aaaa(bbb)aaaaaaaaa(bb)aaaaaa";
string pattern = "\\\\(\\\\w+\\\\)";
Match result = Regex.Match(s,pattern);
MatchCollection results = Regex.Matches(s,pattern);
然后你会看到
result.Value = (bbb);
results[0].Value = (bbb);
results[1].Value = (bb);
也就是match会捕获第一个匹配。而matches会捕获所有的匹配。
matchcollection result = Regex.matches(s)
match类型就是一个单独的捕获,matchcollection就是一组捕获。
扩展资料
RegEx是Visual Studio .NET中的正则表达式类 .NET中正则表达式的语法参见MSDN。该类包含许多方法,在此恕不赘述。
静态的Matches方法
这个方法的重载形式同静态的Match方法,返回一个MatchCollection,表示输入中,匹配模式的匹配的集合。
静态的IsMatch方法
此方法返回一个bool,重载形式同静态的Matches,若输入中匹配模式,返回true,否则返回false。
可以理解为:IsMatch方法,返回Matches方法返回的集合是否为空。
参考资料来源:百度百科-Regex函数
参考技术A 你的理解没错。你可以用以下程序验证:string s = "aaaa(bbb)aaaaaaaaa(bb)aaaaaa";
string pattern = "\\(\\w+\\)";
Match result = Regex.Match(s,pattern);
MatchCollection results = Regex.Matches(s,pattern);
然后你会看到
result.Value = (bbb);
results[0].Value = (bbb);
results[1].Value = (bb);
也就是match会捕获第一个匹配。而matches会捕获所有的匹配。
——————————————————
matchcollection result = Regex.matches(s)
match类型就是一个单独的捕获,matchcollection就是一组捕获。本回答被提问者采纳
以上是关于简要介绍C#中正则表达式Regex的match和matches方法的主要内容,如果未能解决你的问题,请参考以下文章