正则表达式忽略某些字符

时间:2015-09-21 16:31:07

标签: .net regex math

我正在制作一个解析简单算术的.NET程序,我使用这个Regex:

$string = substr($string , strpos($string , "{"));

这会忽略某些字符。假设我有这个,例如:

Regex Part = new Regex("([0-9]+)(\\+|\\-|\\/|\\*)([0-9]+)");

正则表达式将它分成两部分 - 4+5*2 4+ - 完全忽略了那里的那部分。

我希望将其拆分为*24+5 - 我该怎么做?

1 个答案:

答案 0 :(得分:2)

为了实现重叠匹配,只需将正则表达式置于正面预测中即可。

@"(?=(\b\d+[-+/*]\d+\b))"

然后从组索引1中获取所需的部分。通常,正则表达式默认情况下不会执行重叠匹配,您必须将正则表达式置于捕获组内,然后将该捕获组置于正向前方以获得重叠匹配。 \d+应匹配一个或多个数字字符。

DEMO