我正在尝试制作一个捕获以下内容的正则表达式: - XX 或 XX:XX,最多 6 次重复(XX:XX:XX:XX:XX:XX),其中 X 是十六进制数。
换句话说,我试图捕获范围从 1 到 6 个字节的 MAC 地址。
regex = re.compile("^([0-9a-fA-F]{2})(?:(?:\:([0-9a-fA-F]{2})){0,5})$")
问题是,如果我输入例如“11:22:33”,它只会捕获第一个匹配项和最后一个匹配项,从而导致 ["11", "22"]。
问题:有什么方法可以让 {0,5} 字符让我捕捉到所有重复,而不是最后一个?谢谢!