1
私は4行の複数行のマッチを行おうとしています。私のコードは最初のコードを見つけます。しかし、他のものはありません。ここpython regex matchすべて
パターンである:ここ
pattern = re.compile("([a-z]+\.com\.|net\.)[.\s\S]+(Z[A-Z0-9]+)")
は、被写体である:ここ
sub = """yahoo.com.
Public
8
Z2RVE9XGX4PFJN
google.com.
Public
7
Z2VATLWTLBDR5D
"""
は完全なコードである:ここ
import re
pattern = re.compile("([a-z]+\.com\.|net\.)[.\s\S]+(Z[A-Z0-9]+)")
sub = """yahoo.com.
Public
8
Z2RVE9JJGX4PFJN
google.com.
Public
7
Z2VATZOPLBDR5D
"""
m = pattern.findall(sub)
print(m)
結果である:
[('yahoo.com.', 'Z2RVE9JJGX4PFJN')]
[('yahoo.com.', 'Z2RVE9JJGX4PFJN'), ('google.com', Z2VATZOPLBDR5D')]
ありがとう:
そして最後には、ここでは望ましい結果です。
ありがとうございました!完璧に動作します。私はそれが正しいとマークしたいと思いました。 –
私は戻って少し勉強しました。補足として、私は正規の正規表現スキルを持つ他の人に間違っていたと思うところを指摘したいと思います。ここでは "[。\ s \ S]"です。私は信じている "。"最後になるまで貪欲な形ですべてにマッチしたという点で(Z [A-Z0-9] +)、問題のインポート部分でした。もう一度ありがとう、Dawg。 –
'[\ s \ S]'部分は '\ n'を含む任意の文字にマッチします。それは次の試合に向けて直ちに実行されます。あなたが何かの終わりまでずっと走りたいのでなければ、 '?'なしでまれにしか使われません。 – dawg