gpt4 book ai didi

regex - Pycharm正则表达式反向引用替换错误

转载 作者:行者123 更新时间:2023-12-01 12:04:24 29 4
gpt4 key购买 nike

我在相同格式的不同文件中有多个初始化文件。我正在尝试为所有这些添加一个名为“newparameter”的新参数。我正在尝试使用 pycharm 的查找和替换正则表达式功能来做到这一点,但到目前为止还没有成功。

我有一个如下的初始化函数(删除了参数的实际名称)

def __init__(self, param1, param2, param3, param4, param5, param6, param7, param8=None):

正则表达式查找文本:def __init__\(.*\)

正则表达式替换文本: def __init__($1, newparam="Default")

查找文本有效,只是替换不起作用。我得到的错误是:
替换错误。您输入了格式错误的替换字符串 'def __init__($1,newparam="Default")'

我究竟做错了什么?

最佳答案

$1指的是第一个捕获组,但正如它所写的那样,您的正则表达式没有任何捕获组!为了正确地反向引用,您需要捕获括号中的特定字符串。

\( 转义括号和 \)意味着您可以捕获文字字符,但也意味着您不会正确地将引用绑定(bind)到捕获组。试试这个正则表达式:
def __init__\((.*)\)
这将捕获参数列表中的内容,同时匹配(不捕获)括号本身。

关于regex - Pycharm正则表达式反向引用替换错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59203359/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com