记事本++正则表达式保存自定义信息,但更改括号类型
notepad++ regex save custom info, but change brackets type
所以。
我有很多这样的代码,比如
*tons of text* get_sprite_ori('normal/mi/randomtextIhavetosave.png') *tons of text*
我想出了如何找到这种文本:get_sprite_ori\('.*?'\)
但我必须让这段文字看起来像那样:
*tons of text* "images/sprites/normal/mi/randomtextIhavetosave.png" *tons of text*
我尝试了“$1”和 "images/sprites/",但它仍然在“”或 "images/sprites/"
上发生变化
如果你还不明白:
我有很多这样的积木:
image mi serious voca =
ConditionSwitch("persistent.sprite_time=='sunset'",
im.MatrixColor(im.Composite((1050, 1080), (0, 0),
get_sprite_ori('normal/mi/mi_3_body.png'), (0, 0),
get_sprite_7dl('normal/mi/mi_3_voca_dress.png'), (0, 0),
get_sprite_ori('normal/mi/mi_3_serious.png')), im.matrix.tint(0.94,
0.82, 1.0)), "persistent.sprite_time=='night'", im.MatrixColor(im.Composite((1050, 1080), (0, 0),
get_sprite_ori('normal/mi/mi_3_body.png'), (0, 0),
get_sprite_7dl('normal/mi/mi_3_voca_dress.png'), (0, 0),
get_sprite_ori('normal/mi/mi_3_serious.png')), im.matrix.tint(0.63,
0.78, 0.82)), True, im.Composite((1050, 1080), (0, 0), get_sprite_ori('normal/mi/mi_3_body.png'), (0, 0),
get_sprite_7dl('normal/mi/mi_3_voca_dress.png'), (0, 0),
get_sprite_ori('normal/mi/mi_3_serious.png')))
而且我必须摆脱脚本,因为它们内置在我使用的新版本的 RenPy 中。
如前所述,您需要使用捕获组(一对未转义的括号)来捕获 带有正则表达式模式的一部分文本。第一个这样的对将捕获可以使用 </code>(或 <code>
)引用的第一个子匹配项。
至于正则表达式,您可以将 .*?
替换为 [^']*
,因为您不太可能在 )
之前再添加一个 '
。并添加一个单词边界 \b
来匹配 get
作为一个完整的单词:
\bget_sprite_ori\('([^']*)'\)
并替换为images/sprites/
。
查看设置:
正如 Kenney 所说(在评论中感谢他),最好的方法是调整我的处理方式:
所以,最简单的方法就是使用而不是
get_sprite_ori('.*?')
是
get_sprite_ori('(.*?)')
之后 $1 就可以了。
所以。 我有很多这样的代码,比如
*tons of text* get_sprite_ori('normal/mi/randomtextIhavetosave.png') *tons of text*
我想出了如何找到这种文本:get_sprite_ori\('.*?'\)
但我必须让这段文字看起来像那样:
*tons of text* "images/sprites/normal/mi/randomtextIhavetosave.png" *tons of text*
我尝试了“$1”和 "images/sprites/",但它仍然在“”或 "images/sprites/"
上发生变化如果你还不明白: 我有很多这样的积木:
image mi serious voca = ConditionSwitch("persistent.sprite_time=='sunset'", im.MatrixColor(im.Composite((1050, 1080), (0, 0), get_sprite_ori('normal/mi/mi_3_body.png'), (0, 0), get_sprite_7dl('normal/mi/mi_3_voca_dress.png'), (0, 0), get_sprite_ori('normal/mi/mi_3_serious.png')), im.matrix.tint(0.94, 0.82, 1.0)), "persistent.sprite_time=='night'", im.MatrixColor(im.Composite((1050, 1080), (0, 0), get_sprite_ori('normal/mi/mi_3_body.png'), (0, 0), get_sprite_7dl('normal/mi/mi_3_voca_dress.png'), (0, 0), get_sprite_ori('normal/mi/mi_3_serious.png')), im.matrix.tint(0.63, 0.78, 0.82)), True, im.Composite((1050, 1080), (0, 0), get_sprite_ori('normal/mi/mi_3_body.png'), (0, 0), get_sprite_7dl('normal/mi/mi_3_voca_dress.png'), (0, 0), get_sprite_ori('normal/mi/mi_3_serious.png')))
而且我必须摆脱脚本,因为它们内置在我使用的新版本的 RenPy 中。
如前所述,您需要使用捕获组(一对未转义的括号)来捕获 带有正则表达式模式的一部分文本。第一个这样的对将捕获可以使用 </code>(或 <code>
)引用的第一个子匹配项。
至于正则表达式,您可以将 .*?
替换为 [^']*
,因为您不太可能在 )
之前再添加一个 '
。并添加一个单词边界 \b
来匹配 get
作为一个完整的单词:
\bget_sprite_ori\('([^']*)'\)
并替换为images/sprites/
。
查看设置:
正如 Kenney 所说(在评论中感谢他),最好的方法是调整我的处理方式:
所以,最简单的方法就是使用而不是
get_sprite_ori('.*?')
是
get_sprite_ori('(.*?)')
之后 $1 就可以了。