我对 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}:
包含\d
1 到 999 之间的数字。
任何帮助将不胜感激!