在本文中:
"IPAddress":"10.0.0.18","PolicerID":"","IPAddress":"","PolicerID":""
我想捕获所有的 ips,在这个例子中是 10.0.0.18 和空字符串
我尝试使用这个正则表达式:
(?<="IPAddress":")(.*?)(?=")
返回 10.0.0.18 和 ", 它从 PolicerID 中获取第一个“而不是 IPAddress 中的最后一个”。
你能帮帮我吗? 谢谢
请您参考如下方法:
你可以保持简单,只使用一个捕获组:
>>> str = r'"IPAddress":"10.0.0.18","PolicerID":"","IPAddress":"","PolicerID":""'
>>> print re.findall(r'"IPAddress":"([^"]*)', str)
['10.0.0.18', '']
>>>
但是,如果您必须使用后向断言,请使用此正则表达式:
(?<="IPAddress":")([^"]*)
([^"]*) 是一个否定模式,用于匹配 0 个或多个非双引号的字符。
