正则表达式 – 使用正则表达式增加PowerShell中的数字

前端之家收集整理的这篇文章主要介绍了正则表达式 – 使用正则表达式增加PowerShell中的数字前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一些包含字符串的文件

#define PROG_HWNR "#37595"
#define C_HWPROG_NR "24499"
#define PROG_HWNR "#39917"
#define C_HWPROG_NR "24901"
#define C_HWPROG_NR "37598"

我把它们放在一个名为regex-test的文件中(用于测试目的)

我想要做的是将每个数字增加一个.还有其他#defines和数字不能增加,我有一个需要增加的所有变量名称的列表.

我已经有一个PowerShell命令了

Get-Content regex-test | foreach { [regex]::match($_,'"#?(\d+)"$').groups[1].value }

返回数字.它们现在只需要用[value] 1替换

你能为我指出正确的方向吗?谢谢!

解决方法

为什么不呢:

$tmp = Get-Content regex-test | foreach { $n = [regex]::match($_,'"#?(\d+)"$').groups[1].value; if ($n) {$_ -replace "$n",([int32]$n+1)} else {$_}; }

然后保存$tmp.

猜你在找的正则表达式相关文章