江湖散人 发表于 2021-6-30 08:52:08

正则表达式问题

正则表达式中的 findall() 方法,返回一个元组列表。每个元组对应对应一个匹配,每个元组包含每个分组的字符串。
那么问题来了,分组0匹配的什么?
有人说匹配整个正则表达式,也就是说返回的列表里的第一个元组就是匹配的内容,那么问题又来了,其他元组就不是匹配的内容了吗?

wsw530 发表于 2021-6-30 09:13:53

无论是0还是其他的分组都是会匹配内容的
表达式中一般使用小括号表示一个分组匹配模式
只不过匹配规则不同
(\d+)(+)
分组0是按照全部的正则表达式去进行匹配(如例子所示,按照数字和字母)
1分组,只匹配数字
2分组,只匹配字母

笨鸟学飞 发表于 2021-6-30 17:00:15

返回的元祖中都是匹配的结果,按前后顺序排列
例如你想从“aaaa1bcccc2deeeeee3eeggdsgw”中
用正则搜索单个纯数字
那么findall()匹配的结果有几个?1、2、3
返回的元祖就是(1,2,3)

江湖散人 发表于 2021-6-30 17:49:12

wsw530 发表于 2021-6-30 09:13
无论是0还是其他的分组都是会匹配内容的
表达式中一般使用小括号表示一个分组匹配模式
只不过匹配规则不 ...

谢谢

江湖散人 发表于 2021-6-30 17:52:43

笨鸟学飞 发表于 2021-6-30 17:00
返回的元祖中都是匹配的结果,按前后顺序排列
例如你想从“aaaa1bcccc2deeeeee3eeggdsgw”中
用正则搜索 ...

谢谢
页: [1]
查看完整版本: 正则表达式问题