如何在两个特殊字符之间找到字符串?

Lor*_*ort 11 python string special-characters

例如,我需要两个方括号之间的所有内容.文件1

[Home sapiens]
[Mus musculus 1]
[virus 1 [isolated from china]]
Run Code Online (Sandbox Code Playgroud)

因此,考虑到上面的例子,我需要在第一个和最后一个方括号之间的所有内容.

Ble*_*der 19

你可以使用贪婪的正则表达式:

re.search(r'\[(.*)\]', your_string).group(1)
Run Code Online (Sandbox Code Playgroud)


ori*_*rip 19

正则表达式是最灵活的选择.

对于另一种方法,您可以尝试字符串的分区rpartition方法:

>>> s = "[virus 1 [isolated from china]]"
>>> s.partition('[')[-1].rpartition(']')[0]
'virus 1 [isolated from china]'
Run Code Online (Sandbox Code Playgroud)