我正在制作一个解析简单算术的.NET程序,我使用这个Regex:
$string = substr($string , strpos($string , "{"));
这会忽略某些字符。假设我有这个,例如:
Regex Part = new Regex("([0-9]+)(\\+|\\-|\\/|\\*)([0-9]+)");
正则表达式将它分成两部分 - 4+5*2
和4+
- 完全忽略了那里的那部分。
我希望将其拆分为*2
和4+5
- 我该怎么做?
答案 0 :(得分:2)
为了实现重叠匹配,只需将正则表达式置于正面预测中即可。
@"(?=(\b\d+[-+/*]\d+\b))"
然后从组索引1中获取所需的部分。通常,正则表达式默认情况下不会执行重叠匹配,您必须将正则表达式置于捕获组内,然后将该捕获组置于正向前方以获得重叠匹配。 \d+
应匹配一个或多个数字字符。