假设我有一个 string "100500<foo=100>some_text<foo=42><foo=2017>moar_text69"。有必要使用正则表达式和 python 提取标签中的值,即100, 42, 2017
我的尝试:
该用法groups()仅返回第一个匹配项,即 100
pattern = re.compile(r'<foo=(?P<name>[0-9]+)>')
s = "100500<foo=100>some_text<foo=42><foo=2017> moar_text69"
result = pattern.search(s).groups('name')
使用findall()返回除 100、42、2017 以外的所有内容,但<foo=100>, <foo=42>, <foo=2017>
如何实现期望的行为?
它是这样工作的:
结果: