regex 找到最短的正则表达式匹配c#?

nvbavucw  于 2023-02-14  发布在  C#
关注(0)|答案(1)|浏览(123)

基本上,我正在做一些虚数计算器,并在regex中玩,来解决这个问题。模式建议匹配+或-之间的所有字符(将它们计算在内),以字符'i'。基本上是虚数。问题是,regex匹配"-2 -2"而不仅仅是-2。那么我如何才能匹配最短的可能匹配,使值成为-2?
下面是我代码:

text = "(-2-2i)";
string pattern = @"(?=(\+|\-))(.\*)(?=i)";
Match match = Regex.Match(text, pattern);
value += Convert.ToInt16(match.Value);

我在谷歌上搜索了一下,没有找到太多,因为我是一个正则表达式的初学者。

z2acfund

z2acfund1#

试试这个

text = "(-2-2i)";
string pattern = @"(\+|\-)(.+?)i";
Match match = Regex.Match(text, pattern);
value += Convert.ToInt16(match.Groups[1].Value + match.Groups[2].Value);

相关问题