Python'da çok yeniyim, aslında bu benim ilk senaryomdur.Python re.sub() gariplik
Python'un düzenli ifadeleri ile uğraşıyorum. Ben searchString
içinde host": "${9:example.com}"
gibi bir şey eşleştirmek ve bir sunucu adı veya IP adresi ile example.com
değiştirmeye çalışıyorum Bununla
variableTest = "192"
test = re.sub(r'(\$\{\d{1,2}\:)example.com(\})', r'\1' + variableTest + r'\2', searchString, re.M)
: Özellikle re.sub()
Aşağıdaki kod var.
variableTest
bir IP içeriyorsa, başarısız olur. "1", "192", "192.168", ben variableTest
eşit "127.0.0.1" ile test ettik sre_constants.error: invalid group reference
: aşağıdaki hatayı alıyorum. "127.0.0.1" geri kalanı çalışmıyorken çalışıyor. Başkalarını bir mektupla eklersem de işe yarıyor.
variableTest
type(variableTest)
ile doğrulandı.
Değiştirme dizesinde r'\1'
kaldırırsam, çalışır. r'\1'
, \d
ile 1 ve 999 arasında bir sayıya ${\d}:
bildirecektir.
Herhangi bir yardım büyük takdir edilecektir!
Lütfen nneonneo'nun yazdığı mesaj size sorunun gerçek cevabını verirken, PurityLake'in komut çağrınız hakkındaki notu da doğrudur: aslında isteğe bağlı "count" argümanını "re.M" bayrağıyla ayarlıyorsunuz. – cooltea