Ecco il mio codice:Python ricerca di espressioni regolari per la stringa all'inizio della riga nel file di
#!/usr/bin/python
import io
import re
f = open('/etc/ssh/sshd_config','r')
strings = re.search(r'.*IgnoreR.*', f.read())
print(strings)
che restituisce i dati, ma ho bisogno di specifica corrispondenza espressione regolare: ad esempio:
^\s*[^#]*IgnoreRhosts\s+yes
Se cambio il mio codice semplicemente:
strings = re.search(r'^IgnoreR.*', f.read())
o anche
strings = re.search(r'^.*IgnoreR.*', f.read())
Non ritorno nulla. Ho bisogno di essere in grado di utilizzare vera regex di come in Perl
E perché non stai usando 're.search (r"^\ s * [^ #] * IgnoreRhosts \ s + yes ", f.read())'? –
La sintassi regex di Python è la stessa di perl – SethMMorton
Se^Ign non funziona, allora non c'è modo che r '^ \ s * [^ #] * IgnoreRhosts \ s + sì' funzionerebbe. Stavo cercando il minimo comune denominatore. –