我有以下字符串:
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/