将检测多个幂的正则表达式是
(\d+\^){2,}
Run Code Online (Sandbox Code Playgroud)
({2,}表示连续两次或更多次)
刚刚运行了以下测试:
using System;
using System.Text.RegularExpressions;
namespace SampleNamespace
{
public class SampleClass
{
public static void Main()
{
string line = "1+3^4^5 10+3+4*5+2^5^6^7";
System.Console.WriteLine(line);
line = Regex.Replace(line, @"(\d+\^){2,}", "0");
System.Console.WriteLine(line);
}
}
}
Run Code Online (Sandbox Code Playgroud)
产出是:
>RegexTest.exe
1+3^4^5 10+3+4*5+2^5^6^7
1+05 10+3+4*5+07
Run Code Online (Sandbox Code Playgroud)
它无法替换尾随\但它确实有效.您可以使用以下更正来抓取尾随\ d到正则表达式:
(\d+\^){2,}\d+
Run Code Online (Sandbox Code Playgroud)
如果你想要消除包含双倍权力的整个表达式,请使用
.*(\d+\^){2,}.*
Run Code Online (Sandbox Code Playgroud)
在你的替换表达中.在.*两边会吞噬周围的双电源时更换发生整个字符串.