我正在修改游戏。我想更改某些数字,但我需要以特定方式进行。
例如:
士兵 Jinetes, 24, 0, 1
我想替换数字 24,但不改变行中的任何其他值,但还改变包含数字 24 并以士兵开头的每一行。
因此任何看起来像这样的行:
士兵姓名,24,#,#
不会影响该行中的任何其他内容,并且无论该行中的名称或其他值如何都可以这样做。
我可以这样做吗?我该怎么做?
答案1
我使用过在线编辑器regex101.com选择 FLAVOR 为 '聚合酶链反应'。相同的正则表达式在 N++ 中的作用与 charm 类似。
我使用的虚拟输入:
soldier NAME1, 24, 0, 1
soldier NAME2, 25, 1, 2
soldier NAME3, 26, 2, 3
soldier NAME4, 27, 3, 4
soldier NAME5, 28, 4, 5
soldier NAME6, 29, 5, 6
soldier NAME7, 30, 6, 7
machine NAME8, 24, 7, 8
Xsoldier NAME9, 24, 8, 9
soldier NAME10, 24, 9, 10
预期输出:
仅应修改第一行和最后一行。数字“24”应替换为新值。
正则表达式:
^soldier\s+(?:[^\,]+\,\s+)\K24(?=\,\s+\d+\,\s+\d+)
现在您可以使用标准 Ctrl+H,“查找内容”应使用表达式填充,“替换为”应使用新值填充。确保已选中“环绕”,并且“搜索模式”设置为“正则表达式”。
单击“全部替换”将用新的指定值替换所有数字“24”。