首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

c#使用正则,表达式是或关系,如何获取起作用的匹配项

2012-09-12 
c#使用正则,表达式是或关系,怎么获取起作用的匹配项?c#使用正则,表达式是或关系,怎么获取起作用的匹配项?

c#使用正则,表达式是或关系,怎么获取起作用的匹配项?
c#使用正则,表达式是或关系,怎么获取起作用的匹配项?

示例 :
string str="测试数-据文本";
Match m = Regex.Match(str,"中[\s\S]*国|数[\s\S]*据|测[\s\S]*试");
if (m.Success){
//这里匹配成功,如何返回第一个起作用的项(不是匹配值),数[\s\S]*据
}

[解决办法]
你把正则表达式拆开,放在3个if里,把目标分别和拆开后的正则匹配,如果比配成功,返回改正则表达式
[解决办法]

C# code
 string str = "测试数-据文本";                MatchCollection mc = Regex.Matches(str, @"中[\s\S]*国|数[\s\S]*据|测[\s\S]*试");                Match m1 = mc[0];//根据索引找到匹配项目                string result = m1.Value;//测试
[解决办法]
capture?
[解决办法]
string str = "测试数-据文本";
string m = Regex.Match(str, @"中[\s\S]+国|数[\s\S]+据|测[\s\S]+试").Value;

[解决办法]
好像很难的样子。
[解决办法]
你可以把正则 拆开,放进数组或集合中 然后循环遍历匹配 到 就返回表达式并跳出循环

热点排行