|
34 | 34 | u"" + ip_middle_octet + u"{2}" |
35 | 35 | u"" + ip_last_octet + u")" |
36 | 36 | u"|" |
| 37 | + # IPv6 RegEx from https://stackoverflow.com/a/17871737 |
| 38 | + u"\[(" |
| 39 | + # 1:2:3:4:5:6:7:8 |
| 40 | + u"([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|" |
| 41 | + # 1:: 1:2:3:4:5:6:7:: |
| 42 | + u"([0-9a-fA-F]{1,4}:){1,7}:|" |
| 43 | + # 1::8 1:2:3:4:5:6::8 1:2:3:4:5:6::8 |
| 44 | + u"([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|" |
| 45 | + # 1::7:8 1:2:3:4:5::7:8 1:2:3:4:5::8 |
| 46 | + u"([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|" |
| 47 | + # 1::6:7:8 1:2:3:4::6:7:8 1:2:3:4::8 |
| 48 | + u"([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|" |
| 49 | + # 1::5:6:7:8 1:2:3::5:6:7:8 1:2:3::8 |
| 50 | + u"([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|" |
| 51 | + # 1::4:5:6:7:8 1:2::4:5:6:7:8 1:2::8 |
| 52 | + u"([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|" |
| 53 | + # 1::3:4:5:6:7:8 1::3:4:5:6:7:8 1::8 |
| 54 | + u"[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|" |
| 55 | + # ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 :: |
| 56 | + u":((:[0-9a-fA-F]{1,4}){1,7}|:)|" |
| 57 | + # fe80::7:8%eth0 fe80::7:8%1 |
| 58 | + # (link-local IPv6 addresses with zone index) |
| 59 | + u"fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|" |
| 60 | + u"::(ffff(:0{1,4}){0,1}:){0,1}" |
| 61 | + u"((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}" |
| 62 | + # ::255.255.255.255 ::ffff:255.255.255.255 ::ffff:0:255.255.255.255 |
| 63 | + # (IPv4-mapped IPv6 addresses and IPv4-translated addresses) |
| 64 | + u"(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|" |
| 65 | + u"([0-9a-fA-F]{1,4}:){1,4}:" |
| 66 | + u"((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}" |
| 67 | + # 2001:db8:3:4::192.0.2.33 64:ff9b::192.0.2.33 |
| 68 | + # (IPv4-Embedded IPv6 Address) |
| 69 | + u"(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])" |
| 70 | + u")\]|" |
37 | 71 | # host name |
38 | 72 | u"(?:(?:[a-z\u00a1-\uffff0-9]-?)*[a-z\u00a1-\uffff0-9]+)" |
39 | 73 | # domain name |
|
0 commit comments