编程语言
首页 > 编程语言> > C#-用于列表比较的正则表达式?

C#-用于列表比较的正则表达式?

作者:互联网

我试图基于C#中的attribute属性过滤掉一些对象.我决定根据两个逗号分隔的列表进行比较,例如:

>“ a,b,c”〜“ a,b,c”,“ a,c,b”,“ c,a,b”等.
>“ a,b,*”〜“ a,b,c”,“ a,d,b”,“ g,a,b”,“ a,b”等.
>“ a,b,c”!〜“ a,c,d”,“ a,c”,“ a”等.

我认为您应该可以使用一个简单的正则表达式匹配表达式来执行此操作,但目前还无法确定.

有人知道怎么做吗?同时,要用代码蛮力地将其强制执行.

提前致谢

– 编辑

通过〜我的意思是等效,对不起造成混淆.

“ a,b,c”也可以是“ abra,barby,candybar”.它不是单个字符,而是一个值列表.

解决方法:

它不是一个正则表达式,但是比任何一个表达式都简单得多.

var attributes = input.Split(",");
var testCase = test.Split(",");

return attributes.All(x => testCase.Contains(x)) && testCase.All(x => attributes.Contains(x);

如果找到*,请省略&&的一半.表达.

标签:comma,string,c,regex,match
来源: https://codeday.me/bug/20191031/1977996.html