Oto mój kod:Python wyszukiwania regex na ciąg na początku linii w pliku
#!/usr/bin/python
import io
import re
f = open('/etc/ssh/sshd_config','r')
strings = re.search(r'.*IgnoreR.*', f.read())
print(strings)
która zwraca dane, ale potrzebują specjalnej dopasowanie regex: przykład:
^\s*[^#]*IgnoreRhosts\s+yes
Jeśli zmienię mojego kodu po prostu:
strings = re.search(r'^IgnoreR.*', f.read())
lub nawet
strings = re.search(r'^.*IgnoreR.*', f.read())
Nic nie otrzymuję. Muszę być w stanie wykorzystać prawdziwy regex jest jak w Perlu
Dlaczego nie używasz 're.search (r"^\ s * [^ #] * IgnoreRhosts \ s + yes ", f.read())'? –
Składnia wyrażeń regularnych w języku Python jest taka sama, jak w przypadku narzędzia perl: – SethMMorton
Jeśli funkcja^Ign nie działa, to nie ma mowy, że r '^ \ s * [^ #] * IgnoreRhosts \ s + yes' zadziała. Szukałem najniższego wspólnego mianownika. –