我有这样的表达
R403[i] == 3 and R404[i] == 2 AND R405[i] == 1 and R403[i+1] == 5 and R404[i+1] == 2 AND R405[i+1] == 1 R231[2]
我希望使用这个正则表达式来表达我的表达式
[R|M|B].*?\]
但是我想要应用它的一个条件必须包含变量i
,因此R121[1]
不会被捕获。
任何人都可以提供帮助吗?
答案 0 :(得分:2)
如果我理解你的问题,这将是正则表达式:
Regex reg = new Regex(@"[RMB]\d{3}\[.*?i.*?\]");
如果你的"我"在使用i之前,可以使用较少的表达式:
Regex reg = new Regex(@"[RMB]\d{3}\[[^]]*?i[^]]*?\]");
答案 1 :(得分:0)
试试这个解决方案。它将检查模式的组匹配。
string pattern = @"[RMB]\d{3}\[\d*\]";
string input = " M403[50] == 3 and R404[i] == 2 AND R405[i] == 1 and R403[i+1] == 5 and R404[i+1] == 2 AND R405[i+1] == 1 R231[2]";
foreach (Match match in matches)
{
Console.WriteLine("Mactch: {0}", match.Value);
Console.WriteLine();
}