我试图将一个模式与可能有多个模式实例的字符串匹配。我需要每一个单独的实例。re.findall()
应该做,但我不知道我做错了什么。
pattern = re.compile('/review: (http://url.com/(\d+)\s?)+/', re.IGNORECASE)
match = pattern.findall('this is the message. review: http://url.com/123 http://url.com/456')
我需要http://url.com/123,http://url.com/456和123&456这两个数字作为match
列表的不同元素。
我也尝试过'/review: ((http://url.com/(\d+)\s?)+)/'
作为模式,但没有运气。
使用两步方法:首先获取从“review:”到EOL的所有内容,然后将其标记化。
用这个。您需要将“review”放在捕获组之外以获得所需的结果。
这会产生输出
你在正则表达式中有多余的。在python中,模式应该只是一个字符串。e、 g.而不是这个:
应该是:
在python中,通常会使用如下“原始”字符串:
字符串前面额外的r省去了很多反斜杠转义等操作
相关问题 更多 >
编程相关推荐