我有一个包含以下行的文件(精简示例,真实文件是1.000+行):
...
type1.value1=60 <-- replace 60 with 72 from line 5
type1.value2=15 <-- replace 15 with 14 from line 6
type2.value1=50 <-- replace 50 with 72 from line 5
type2.value2=18 <-- replace 18 with 14 from line 6
type3.value1=72
type3.value2=14
...
Run Code Online (Sandbox Code Playgroud)
我想用type3中的值替换type(x)中的所有值.有很多类型/价值组合,所以我想避免手工.此外,我必须经常这样做.
这可能与Notepad ++ Regex查找/替换?
匹配表达式如下,其中第一个组应该保持不变,第二个组应该替换为anoter regex的结果.
^type1.([\w]+)=([\S]+)
Run Code Online (Sandbox Code Playgroud)
正则表达式:
type(?!3\.)\d+\.value(\d+)=\K\d+(?=[\s\S]*?type3\.value\1=(\d+))
Run Code Online (Sandbox Code Playgroud)
用。。。来代替:
\2
Run Code Online (Sandbox Code Playgroud)
解释:
type(?!3\.)\d+匹配除以下类型之外的类型3\.value(\d+)=匹配所有内容,=但捕获数字\K忘记到目前为止的比赛\d+匹配以下数字(?=正向前瞻的开始
[\s\S]*?懒惰地匹配任何东西type3\.value\1=直到相同的值type3(\d+)然后在 CP #2 中捕获其值)正向前瞻结束重点是valueX从type不同的地方匹配3然后从不同的地方寻找相同的valueX地方type3。如果valueX是假设的或者没有任何特殊的东西需要查看,那么就没有在查找/替换功能中使用正则表达式的纯粹方法。
| 归档时间: |
|
| 查看次数: |
93 次 |
| 最近记录: |