【问题标题】:parse: match in the middle part of a stringparse:匹配字符串的中间部分
【发布时间】:2020-12-21 20:44:38
【问题描述】:

我正在使用parse 包从字符串中提取一些信息。我有这样的模式:

pattern = compile("hello {}")
s = "I am Jack, hello Mike, hello Tom! nice to meet you."
pattern.parse(s)

我想从 s 中提取 'Mike'、'Tom' ,无论字符串中匹配模式之前和之后是什么。我应该如何修改我的模式?

【问题讨论】:

  • 这里真的需要parse吗?对于这种情况,非常常见的 re 库非常适合。

标签: python string parsing partial


【解决方案1】:

像这样使用re.findall

import re
s = "I am Jack, hello Mike, hello Tom! nice to meet you."
names = re.findall(r'[Hh]ello\s+(\w+)', s)
print(names)
# ['Mike', 'Tom']

【讨论】:

  • 这是一个很好的解决方案。谢谢。不幸的是,我真的是个笨蛋,并且在我的数据中可以找到更多模式。因此,如果 parse 可以工作,它是首选。
猜你喜欢
  • 2012-06-15
  • 2019-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多