语法
findall()
方法用于在整个字符串中搜索所有符合正则表达式的字符串,并以列表的形式返回。如果匹配成功,则返回包含匹配结构的列表,否则返回空列表。findall()
方法的语法格式如下:
re.findall(pattern, string, [flags])
参数说明:
pattern
:表示模式字符串,由要匹配的正则表达式转换而来。string
:表示要匹配的字符串。flags
:可选参数,表示标志位,用于控制匹配方式,如是否区分字母大小写。
如果在指定的模式字符串中,包含分组,则返回与分组匹配的文本列表。
从上面的结果中可以看出,并没有得到匹配的IP
地址,这是因为在模式字符串中出现了分组,所以得到的结果是根据分组进行匹配的结果,即“(\.[0-9]{1,3})
”匹配的结果。如果想获取整个模式字符串的匹配,可以将整个模式字符串使用一对小括号进行分组,然后在获取结果时,只取返回值列表的每个元素(是一个元组)的第1
个元素。代码如下: