たとえば、2つの角かっこで囲まれたすべてのものが必要です。File1
[Home sapiens]
[Mus musculus 1]
[virus 1 [isolated from china]]
したがって、上記の例を考慮すると、最初と最後の角括弧の間にすべてが必要です。
たとえば、2つの角かっこで囲まれたすべてのものが必要です。File1
[Home sapiens]
[Mus musculus 1]
[virus 1 [isolated from china]]
したがって、上記の例を考慮すると、最初と最後の角括弧の間にすべてが必要です。
貪欲な正規表現を使用できます。
re.search(r'\[(.*)\]', your_string).group(1)
正規表現は最も柔軟なオプションです。
別のアプローチとして、文字列のpartitionメソッドとrpartitionメソッドを試すことができます。
>>> s = "[virus 1 [isolated from china]]"
>>> s.partition('[')[-1].rpartition(']')[0]
'virus 1 [isolated from china]'
サンプル入力を考えると、すべての行が角かっこで始まり、角かっこで終わっているように見えます。その場合、正規表現を忘れてください、これは些細なことです:
for line in whatever:
contents = line.strip()[1:-1]
strip
(行ソースが改行を残している場合、または入力の閉じ括弧の後に非表示のスペースがある場合に備えて追加しました。不要な場合は省略してください。)