複数行の一致に対して正しい正規表現をコンパイルする際に問題が発生しました。誰かが私が間違っていることを指摘できますか?私はMACのために働くために様々な正規表現の固定アドレスを得ているが、適切に一致させるために、それらを組み合わせることはできませんpython multiline regex
host node20007
{
hardware ethernet 00:22:38:8f:1f:43;
fixed-address node20007.domain.com;
}
:私は、次のようなエントリの何百もの基本的なdhcpd.confファイルをループしています。
f = open('/etc/dhcp3/dhcpd.conf', 'r')
re_hostinfo = re.compile(r'(hardware ethernet (.*))\;(?:\n|\r|\r\n?)(.*)',re.MULTILINE)
for host in f:
match = re_hostinfo.search(host)
if match:
print match.groups()
現在、私のマッチグループは、次のようになります。
( 'ハードウェアイーサネット00:22:38:8F:1F:43'、'00:38:22 8F:1F:43' 、 '' )
しかし、のようなものを探して:
( 'ハードウェアイーサネット00:22:38:8F:1F:43'、'00:22:38:8F:1F:43' 、「node20007.domain.com ')
http://www.pythonregex.com/ – nmichaels
ファイルは、まさにこの形式であればそれだけで簡単にヨーヨーかもしれませんスペース上の行を分割し、末尾の要素を値 – Mark