2017-04-15 11 views
1

私はPythonで新しく、他のものなしで[]の中で特定の文字列を取得する方法はありますか?ここで私は他のすべてのものをフィルタリングし、[]と文字列を取得することができますどのように、どのように括弧内の特定の文字列をつかむことができます

Opening /root/pact-01.cap Nan 
Name: [8;28TH[KEY FOUND! [ string ][11, type: object 

は、私が唯一の特定の文字列[ string ]したい文字列です。

+0

角括弧を付けないとどうなりますか? –

+0

には角かっこが付きません。 – Ethan

+0

「正規表現」を調べてください。 –

答えて

3

正規表現を使用して内容に一致させることができます。

\[([^[]*)\] 

Live Demo

正規表現は、ライブデモでどのように動作するかの説明があります。それは次のようになり、Pythonで

:印刷し

import re 

s = """ 
Opening /root/pact-01.cap Nan 
Name: [8;28TH[KEY FOUND! [ string ][11, type: object 
""" 

for match in re.finditer(r"\[([^[]*)\]", s): 
    print(match.group(1)) 

string 

を1つだけのマッチを見つけるには、あなたが行うことができます:

match = re.search(r"\[([^[]*)\]", s) 
if match: 
    print(match.group(1)) 

場合声明は、matchNoneであるので一致があったかどうかを示します一致しない場合。

+0

私は試してみましょう。ご回答ありがとうございます! – Ethan

+0

ようこそ。正規表現は間違いなく慣れることができますが、最終的にはプログラミングの世界の外でも非常に多くの用途があります。 – Vallentin

関連する問題