c#使用正则,表达式是或关系,怎么获取起作用的匹配项?示例 :
string str="测试数-据文本";
Match m = Regex.Match(str,"中[\s\S]*国|数[\s\S]*据|测[\s\S]*试");
if (m.Success){
//这里匹配成功,如何返回第一个起作用的项(不是匹配值),数[\s\S]*据
}
string str="测试数-据文本";
Match m = Regex.Match(str,"中[\s\S]*国|数[\s\S]*据|测[\s\S]*试");
if (m.Success){
//这里匹配成功,如何返回第一个起作用的项(不是匹配值),数[\s\S]*据
}
解决方案 »
- C#正则截取Url中的字符串
- C# linq to dataTable大数据量占用CPU问题
- 我用Microsoft.DirectX.DirectSound做了个录音程序
- 大家觉得linq怎么样,有人说linq已死
- partial的问题
- 关于c# 中的FileSystemWatcher事件触发问题,从一个文件夹复制到另一文件夹,只让其触发一次新建OnCreate避免同时触发OnChanged
- xml读写问题 急急急!!!!!!!!!
- 关于钩子回调函数的问题
- c#动态查询问题,高手救命啊
- 高手看过来!请教五子棋的超级算法!!!
- 在同一页面中对gridView进行修改?
- 代码如下:要实现功能是选中dgv1一行数据,选中dgv2一行数据,点击按钮,把dgv2行数据填入dgv1行,同时dgv1自动跳到下一行。
表达式很长很复杂的,没法拆如
Regex Re = new Regex(@"违法|qq号|金融[\s\S]{0,2}(集团|公司)|禁止字符.....");
MatchCollection mc = Regex.Matches(str, @"中[\s\S]*国|数[\s\S]*据|测[\s\S]*试");
Match m1 = mc[0];//根据索引找到匹配项目
string result = m1.Value;//测试
string m = Regex.Match(str, @"中[\s\S]+国|数[\s\S]+据|测[\s\S]+试").Value;
这里只是说明,不是3个,是N个条件昂,无法简单的if分开