我对 Python 很陌生,事实上这是我的第一个脚本。
我正在为 Python 的正则表达式而苦苦挣扎。具体来说re.sub()
我有以下代码:
variableTest = "192"
test = re.sub(r'(\$\{\d{1,2}\:)example.com(\})', r'\1' + variableTest + r'\2', searchString, re.M )
有了这个,我试图匹配类似host": "${9:example.com}"insidesearchString并替换example.com为服务器名称或 IP 地址。
如果variableTest包含 IP,则失败。我收到以下错误:
sre_constants.error: invalid group reference
我用variableTest等于“127.0.0.1”、“1”、“192”、“192.168”对其进行了测试。“127.0.0.1”有效,而其他无效。如果我在其他人前面加上一封信,它也可以。
variableTest是一个字符串 - 验证type(variableTest)
我完全不知道为什么会这样。
r'\1'如果我在替换字符串中删除它也可以。r'\1'将${\d}:包含\d1 到 999 之间的数字。
任何帮助将不胜感激!