【发布时间】:2020-09-15 19:51:18
【问题描述】:
这可能是一个简单的问题。我正在学习如何使用正则表达式,但在对字符串执行特定任务时遇到了问题。
例如:
example_string = ";一,一;二,二;三,三;四,四"
desired_output = ["One, o", "Two, t", "Three, t", "Four, f"] #list输出OK
通过以下,我可以得到 ["One" , "Two" , "Three"]:
def findStringsInMiddle(a, b, text):
return re.findall(re.escape(a)+"(.*?)"+re.escape(b),text)
desired_output = findStringsInMiddle('; ' , ',' , example_string)
但我无法弄清楚如何正确配置它以获取我也想要的逗号+空格+any_type_of_character。
有什么建议吗?
谢谢!
【问题讨论】:
-
谢谢大家的回答。每个人的解决方案实际上都有效,所以我不得不将我选择的解决方案建立在其他一些指标上。 Wiktor 的回答配置了我所拥有的实际功能,这是我特别要求的,他是第一个这样做的。不管怎样,下面所有的答案都很棒:很抱歉我不能全选!
标签: python regex string parsing findall