私はPythonを初めて使用します。実際、これは私の最初のスクリプトです。
Pythonの正規表現に苦労しています。具体的にはre.sub()
次のコードがあります。
variableTest = "192"
test = re.sub(r'(\$\{\d{1,2}\:)example.com(\})', r'\1' + variableTest + r'\2', searchString, re.M )
これで、私は内側のようなものを一致させ、サーバー名またはIPアドレスに置き換えようとしhost": "${9:example.com}"
ていますsearchString
.example.com
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'
1 から999${\d}:
まで\d
の数字が含まれます。
どんな助けでも大歓迎です!