正则表达式,第四个参数

Regular Expression, 4th parameter

我有一些代码,每行有7个参数。每行都在括号中,并以分号结束。我需要从每行的第 4 个参数中减去 2000。基本上我需要做的就是去掉第 4 个参数开头的第一个数字 (2)。我怎样才能做到这一点?另外,请尝试解释它是如何工作的,尝试学习如何正确使用正则表达式。

每一行都是这样的: (689,746.37311,1064.86426,2518.65820,0.00000,0.00000,0.00000);

als0,每行第4个参数都是两千多

你可以使用这个:

^(?:[^,]*,){3}\K\d

详情:

^           # anchor for the start of the line
(?:         # open a non-capturing group
    [^,]*   # characters that are not a comma (reach the next ,)
    ,       # a comma
){3}        # close the group and repeat it three times
\K          # remove all on the left from the match result
\d          # the digit

该模式的总体思路是从行的开头到达第三个逗号,并紧接其后的数字。