0
私は、Pythonスクリプトを書いていますし、大容量のファイルは、以下のように生データの例から、すべてのグループのオブジェクト名と一致したいと思います:正規表現は、文字列の前に言葉を返す - pythonの
IT_PC (Group) -Host: 192.168.103.144 -Host: 192.168.103.145 -Network: 192.168.103.0 255.255.255.0 HR_PC (Group) -Host: 192.168.65.145 -Host: 192.168.62.146 -Host: 192.168.62.154
Finance_PC (Group) -Finance_PC_192.168.41.125
Testing_PC (Group) -Host: 192.168.129.1 -Host: 192.168.129.97 -Host: 192.168.59.81 -Host: 192.168.59.82
マイ必要な出力は次のようにしなければならない:私は必要な結果を一致させるために、通常の急行の下に使用しようとしていますが、それは最初の1 [「IT_PC(グループ)」]を返す
IT_PC (Group)
HR_PC (Group)
Finance_PC (Group)
Testing_PC (Group)
。感謝の気持ちがありますか?あなたも、より具体的にすることができ、
>>> re.findall(r"\w+(?= \(Group\))", source)
['IT_PC', 'HR_PC', 'Finance_PC', 'Testing_PC']
または:
source = "IT_PC (Group) -Host: 192.168.103.144 -Host: 192.168.103.145 -Network: 192.168.103.0 255.255.255.0 HR_PC (Group) -Host: 192.168.65.145 -Host: 192.168.62.146 -Host: 192.168.62.154 Finance_PC (Group) -Finance_PC_192.168.41.125 Testing_PC (Group) -Host: 192.168.129.1 -Host: 192.168.129.97 -Host: 192.168.59.81 -Host: 192.168.59.82"
data = ".*? (?= \(group\))"
a = re.findall(data, source)
print a
おかげでalecxe、どのように私も "(グループ)" という文字列を返すことができます。このように['IT_PC(グループ)'、 'HR_PC(グループ)'、 'Finance_PC(グループ)'、 'Testing_PC(グループ)'] – kafter2
@ kafter2は確かに答えを更新しました。希望が役立ちます。 – alecxe
はい、役立ちます。迅速なお返事をありがとう ;) – kafter2