我有一串
工作1工作2工作3工作4工作5
我想获得
工作1工作21工作321工作4321工作54321
我使用此命令但不起作用
(?<=work\s(\d)+.)(work)(\s\d+)
$2$3$1
问题在于它不会记录第一次出现后被替换的信息,而是可以在每次出现后保存更改。
当我应用命令时,我得到
工作1工作21工作32工作43工作54
最佳答案
您可以在汇总匹配项时尝试Regex.Replace
:
String source = "work 1 work 2 work 3 work 4 work 5";
String aggregate = "";
// work 1 work 21 work 321 work 4321 work 54321
String result = Regex.Replace(source, @"\d+", // or @"(?<=work\s)\d+" pattern
match => aggregate = match.Value + aggregate);
关于c# - 重叠替换正则表达式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38162738/