我有以下字符串:

1) there is a problem 2) There appears to be a bug 3) stuck on start screen.


我想在1)2)3)之后得到文本。这是我在寻找的东西:

['there is a problem', 'There appears to be a bug', 'stuck on start screen']


我尝试使用re.split并在\d+上拆分,但这并不能满足我的需求。我想保持解决方案的通用性,因此,如果出现4)5)或更多的情况,我仍然可以检索文本。

任何帮助将不胜感激。

最佳答案

您可以使用以下正则表达式(see regex demo):

\d+\)\s*


它匹配:


\d+-一个或多个数字
\)-文字)
\s*-零个或多个空格符号。


the code demo

import re
s = "1) there is a problem 2) There appears to be a bug 3) stuck on start screen.";
print ([x for x in re.split(r"\d+\)\s*", s) if x]);
# => ['there is a problem ', 'There appears to be a bug ', 'stuck on start screen.']

关于python - 正则表达式-检索定界符之间的文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34709211/

10-12 18:59