Dưới đây là mã của tôi:Python regex tìm kiếm cho chuỗi ở đầu dòng trong tập tin
#!/usr/bin/python
import io
import re
f = open('/etc/ssh/sshd_config','r')
strings = re.search(r'.*IgnoreR.*', f.read())
print(strings)
Đó trả về dữ liệu, nhưng tôi cần phù hợp với regex cụ thể: ví dụ:
^\s*[^#]*IgnoreRhosts\s+yes
Nếu tôi thay đổi mã của tôi chỉ đơn giản là:
strings = re.search(r'^IgnoreR.*', f.read())
hoặc thậm chí
strings = re.search(r'^.*IgnoreR.*', f.read())
Tôi không nhận lại được gì. Tôi cần phải có khả năng sử dụng thực tế của regex như trong perl
Và tại sao bạn không sử dụng 're.search (r^^ \ s * [^ #] * IgnoreRhosts \ s + có", f.read()) '? –
Cú pháp regex của Python giống với cú pháp – SethMMorton
của perl Nếu^Ign không hoạt động, thì không có cách nào r '^ \ s * [^ #] * IgnoreRhosts \ s + yes' sẽ hoạt động. Tôi đang tìm mẫu số chung thấp nhất. –