C# 查找二维数组中的所有字符串,如模板

C# 查找二维数组中的所有字符串,如模板,c#,linq,C#,Linq,我有一个2d数组-列表,这个数组有3列 我想在所有行的第二列中找到这个字符串模板-192:19:6\u不同的数字:一些数字或符号或192:24:6\u不同的数字:一些数字或符号 例如-192:24:123456:5432使用正则表达式来匹配您的模式,我的正则表达式可能不完整(我这里没有可以尝试的ide) List myStuff=。。。; 正则表达式正则表达式=新正则表达式(“192:(24 | 19):[0-9]{6}:[0-9A-Za-z]*”) var matchingRows=myStu

我有一个2d数组-
列表
,这个数组有3列

我想在所有行的第二列中找到这个字符串模板-
192:19:6\u不同的数字:一些数字或符号
192:24:6\u不同的数字:一些数字或符号


例如-192:24:123456:5432使用正则表达式来匹配您的模式,我的正则表达式可能不完整(我这里没有可以尝试的ide)

List myStuff=。。。;
正则表达式正则表达式=新正则表达式(“192:(24 | 19):[0-9]{6}:[0-9A-Za-z]*”)
var matchingRows=myStuff.Where(x=>regex.IsMatch(x[1]);

请添加适当的示例。您只想检查第二列?192:24:123456:123a或192:19:123456:123a或192:24:7777:1244444是的,只检查第二列厚度,但在第二个位置可能是24或19,如何更改此正则表达式?或者我需要使用两个正则表达式-一个用于第二位置的24,另一个用于第二位置的19?@Console:您不需要IDE来测试正则表达式。这是我最喜欢的两个工具:但是linq不起作用,请尝试
var matchingRows=myStuff.Where(x=>regex.IsMatch(x[1]).ToList();
,但是matchingRows有0行我在这里帮不了您。正则表达式起作用(linq也起作用)也许您的列不是x[i]。我假设您的列表是外部级别上的行列表,并且任何字符串项都表示一列。您是否考虑过将列表替换为字符串[columnCount,3]?这将更好地表示您的数据结构。如果我希望数组中的行与此模板不同,请在sql中使用类似于“not like”的行
List<List<string>> myStuff = ...;
Regex regex = new Regex("192:(24|19):[0-9]{6}:[0-9A-Za-z]*")
var matchingRows = myStuff.Where(x => regex.IsMatch(x[1]);