# The IP Range Toolkit is a versatile Python library for generating and working with IP address ranges.
## Tested against Windows 10 / Python 3.10 / Anaconda
## pip install iprangetoolkit
## IP Range Toolkit
The IP Range Toolkit is a versatile Python library for generating and working with IP address ranges.
It provides functions to generate IPv4 and IPv6 address ranges from various inputs,
convert between IP address formats, and create regular expressions for matching
IP addresses within specified ranges.
Whether you're a network administrator, a developer building IP-related tools,
or simply need to work with IP addresses in your Python projects, this toolkit simplifies your tasks.
## Key Features
### Generate IP Ranges:
Easily create ranges of IPv4 and IPv6 addresses based on starting and ending addresses or IP addresses with subnet masks.
### Regular Expression Generation:
Create regular expression patterns (fast Trie regex) to match IP addresses within specified ranges or individual addresses.
### Conversion Utilities:
Convert between different IP address formats, such as integer representations and dotted-decimal notation.
### IPv6 Support:
Full support for IPv6 addresses and ranges, including regular expression generation.
### Efficient Algorithms:
Utilizes efficient algorithms to handle large IP address ranges and conversions.
```python
from iprangetoolkit import (
generate_ipv4_range_from_2_ips,
generate_ipv6_range_from_2_ips,
generate_ipv4_range_from_1_ip_with_subnetmask,
generate_ipv6_range_from_1_ip_with_subnetmask,
generate_regex_from_ipv4_range,
generate_regex_from_individual_ipsv4,
)
ipstart = "1.2.4.5"
ipend = "1.3.5.1"
ips = generate_ipv4_range_from_2_ips(ipstart, ipend)
print(ips)
# ips
# Out[24]:
# array(['1.2.4.5', '1.2.4.6', '1.2.4.7', ..., '1.3.4.2', '1.3.5.0',
# '1.3.5.1'], dtype='<U15')
ips2 = generate_ipv6_range_from_2_ips(
beginning="2001:0db8:0001:0000:0000:0ab9:C0A8:0002",
final="2001:0db8:0001:0000:0000:0ab9:C0A8:f202",
)
print(ips2)
# ips2
# Out[25]:
# array(['2001:0db8:0001:0000:0000:0ab9:c0a8:0002',
# '2001:0db8:0001:0000:0000:0ab9:c0a8:0003',
# '2001:0db8:0001:0000:0000:0ab9:c0a8:0004', ...,
# '2001:0db8:0001:0000:0000:0ab9:c0a8:f1ff',
# '2001:0db8:0001:0000:0000:0ab9:c0a8:f200',
# '2001:0db8:0001:0000:0000:0ab9:c0a8:f201'], dtype='<U39')
iv4 = generate_ipv4_range_from_1_ip_with_subnetmask(
ipaddress_with_subnetmask="69.30.212.168/29"
)
# iv4
# Out[28]:
# array(['69.30.212.168', '69.30.212.169', '69.30.212.170', '69.30.212.171',
# '69.30.212.172', '69.30.212.173', '69.30.212.174', '69.30.212.175'],
# dtype='<U15')
iv6 = generate_ipv6_range_from_1_ip_with_subnetmask(
ipaddress_with_subnetmask="2001:0db8:1234:5678:9abc:def0:1234:5678/106"
)
print(iv6)
# iv6
# Out[29]:
# array(['2001:0db8:1234:5678:9abc:def0:1234:5678',
# '2001:0db8:1234:5678:9abc:def0:1234:5679',
# '2001:0db8:1234:5678:9abc:def0:1234:567a', ...,
# '2001:0db8:1234:5678:9abc:def0:123f:fffc',
# '2001:0db8:1234:5678:9abc:def0:123f:fffd',
# '2001:0db8:1234:5678:9abc:def0:123f:fffe'], dtype='<U39')
privat1 = generate_regex_from_ipv4_range(
startip="192.168.0.0",
endip="192.168.255.255",
asbytes=True,
compileregex=False,
)
# privat1 - fast Trie regex - https://stackoverflow.com/a/42789508/15096247
# Out[30]: b'\\b192\\.168\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d]))\\b'
privat2 = generate_regex_from_ipv4_range(
startip="172.16.0.0",
endip="172.31.255.255",
asbytes=False,
compileregex=True,
)
# privat2 - fast Trie regex - https://stackoverflow.com/a/42789508/15096247
# Out[5]: regex.Regex('\\b172\\.(?:1(?:6\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d]))|7\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d]))|8\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d]))|9\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])))|2(?:0\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d]))|1\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d]))|2\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d]))|3\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d]))|4\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d]))|5\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d]))|6\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d]))|7\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d]))|8\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d]))|9\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])))|3(?:0\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d]))|1\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d]))))\\b', flags=regex.V0)
repa = generate_regex_from_individual_ipsv4(
iplist=["1.2.3.4", "3.5.3.1", "1.10.12.1", "192.168.255.255"],
asbytes=False,
compileregex=False,
)
# repa
# Out[3]: '\\b(?:1(?:92\\.168|\\.(?:10\\.12|2\\.3\\.4))|3\\.5\\.3\\.1)\\b'
# regex.findall( '\\b(?:1(?:92\\.168|\\.(?:10\\.12|2\\.3\\.4))|3\\.5\\.3\\.1)\\b',r'''repa=generate_regex_from_individual_ipsv4(
# iplist=['1.2.3.4', '3.5.3.1', '1.10.12.1','192.168.255.255'
# ], asbytes=False,compileregex=False
# )
# ''')
# Out[4]: ['1.2.3.4', '3.5.3.1', '1.10.12', '192.168']
privat3 = generate_regex_from_ipv4_range(
startip="10.0.0.0",
endip="10.255.255.255",
asbytes=False,
compileregex=True,
)
print(privat3)
# very fast regex
# regex.Regex("\\b10\\.(?:0\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d]))|1(?:0(?:0\\.[\\d]|1\\.[\\d]|2\\.[\\d]|3\\.[\\d]|4\\.[\\d]|5\\.[\\d]|6\\.[\\d]|7\\.[\\d]|8\\.[\\d]|9\\.[\\d]|\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]))|1(?:0\\.[\\d]|1\\.[\\d]|2\\.[\\d]|3\\.[\\d]|4\\.[\\d]|5\\.[\\d]|6\\.[\\d]|7\\.[\\d]|8\\.[\\d]|9\\.[\\d]|\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]))|2(?:0\\.[\\d]|1\\.[\\d]|2\\.[\\d]|3\\.[\\d]|4\\.[\\d]|5\\.[\\d]|6\\.[\\d]|7\\.[\\d]|8\\.[\\d]|9\\.[\\d]|\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]))|3(?:0\\.[\\d]|1\\.[\\d]|2\\.[\\d]|3\\.[\\d]|4\\.[\\d]|5\\.[\\d]|6\\.[\\d]|7\\.[\\d]|8\\.[\\d]|9\\.[\\d]|\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]))|4(?:0\\.[\\d]|1\\.[\\d]|2\\.[\\d]|3\\.[\\d]|4\\.[\\d]|5\\.[\\d]|6\\.[\\d]|7\\.[\\d]|8\\.[\\d]|9\\.[\\d]|\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]))|5(?:0\\.[\\d]|1\\.[\\d]|2\\.[\\d]|3\\.[\\d]|4\\.[\\d]|5\\.[\\d]|6\\.[\\d]|7\\.[\\d]|8\\.[\\d]|9\\.[\\d]|\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]))|6(?:0\\.[\\d]|1\\.[\\d]|2\\.[\\d]|3\\.[\\d]|4\\.[\\d]|5\\.[\\d]|6\\.[\\d]|7\\.[\\d]|8\\.[\\d]|9\\.[\\d]|\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]))|7(?:0\\.[\\d]|1\\.[\\d]|2\\.[\\d]|3\\.[\\d]|4\\.[\\d]|5\\.[\\d]|6\\.[\\d]|7\\.[\\d]|8\\.[\\d]|9\\.[\\d]|\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]))|8(?:0\\.[\\d]|1\\.[\\d]|2\\.[\\d]|3\\.[\\d]|4\\.[\\d]|5\\.[\\d]|6\\.[\\d]|7\\.[\\d]|8\\.[\\d]|9\\.[\\d]|\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]))|9(?:0\\.[\\d]|1\\.[\\d]|2\\.[\\d]|3\\.[\\d]|4\\.[\\d]|5\\.[\\d]|6\\.[\\d]|7\\.[\\d]|8\\.[\\d]|9\\.[\\d]|\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]))|\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])))|2(?:0(?:0\\.[\\d]|1\\.[\\d]|2\\.[\\d]|3\\.[\\d]|4\\.[\\d]|5\\.[\\d]|6\\.[\\d]|7\\.[\\d]|8\\.[\\d]|9\\.[\\d]|\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]))|1(?:0\\.[\\d]|1\\.[\\d]|2\\.[\\d]|3\\.[\\d]|4\\.[\\d]|5\\.[\\d]|6\\.[\\d]|7\\.[\\d]|8\\.[\\d]|9\\.[\\d]|\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]))|2(?:0\\.[\\d]|1\\.[\\d]|2\\.[\\d]|3\\.[\\d]|4\\.[\\d]|5\\.[\\d]|6\\.[\\d]|7\\.[\\d]|8\\.[\\d]|9\\.[\\d]|\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]))|3(?:0\\.[\\d]|1\\.[\\d]|2\\.[\\d]|3\\.[\\d]|4\\.[\\d]|5\\.[\\d]|6\\.[\\d]|7\\.[\\d]|8\\.[\\d]|9\\.[\\d]|\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]))|4(?:0\\.[\\d]|1\\.[\\d]|2\\.[\\d]|3\\.[\\d]|4\\.[\\d]|5\\.[\\d]|6\\.[\\d]|7\\.[\\d]|8\\.[\\d]|9\\.[\\d]|\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]))|5(?:0\\.[\\d]|1\\.[\\d]|2\\.[\\d]|3\\.[\\d]|4\\.[\\d]|5\\.[\\d]|\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]))|6\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|7\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|8\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|9\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])))|3(?:0\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|1\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|2\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|3\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|4\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|5\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|6\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|7\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|8\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|9\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])))|4(?:0\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|1\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|2\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|3\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|4\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|5\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|6\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|7\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|8\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|9\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])))|5(?:0\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|1\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|2\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|3\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|4\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|5\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|6\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|7\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|8\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|9\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])))|6(?:0\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|1\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|2\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|3\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|4\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|5\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|6\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|7\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|8\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|9\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])))|7(?:0\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|1\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|2\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|3\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|4\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|5\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|6\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|7\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|8\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|9\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])))|8(?:0\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|1\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|2\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|3\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|4\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|5\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|6\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|7\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|8\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|9\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])))|9(?:0\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|1\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|2\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|3\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|4\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|5\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|6\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|7\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|8\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|9\\.(?:0\\.|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d])|\\.(?:0\\.[\\d]|1(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.\\d]|6[\\.\\d]|7[\\.\\d]|8[\\.\\d]|9[\\.\\d]|\\.[\\d])|2(?:0[\\.\\d]|1[\\.\\d]|2[\\.\\d]|3[\\.\\d]|4[\\.\\d]|5[\\.012345]|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|3(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|4(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|5(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|6(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|7(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|8(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d])|9(?:0\\.|1\\.|2\\.|3\\.|4\\.|5\\.|6\\.|7\\.|8\\.|9\\.|\\.[\\d]))))\\b",flags=regex.V0,)
# alra=''.join(iv4.astype('U'))
# privat3.findall(alra)
```
Raw data
{
"_id": null,
"home_page": "https://github.com/hansalemaos/iprangetoolkit",
"name": "iprangetoolkit",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "range,ip,regex",
"author": "Johannes Fischer",
"author_email": "aulasparticularesdealemaosp@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/19/03/0dededa8c43a4d468896dee0f460959d64b88f0a3f7020188fbf84bd69cb/iprangetoolkit-0.10.tar.gz",
"platform": null,
"description": "\r\n# The IP Range Toolkit is a versatile Python library for generating and working with IP address ranges.\r\n\r\n## Tested against Windows 10 / Python 3.10 / Anaconda\r\n\r\n## pip install iprangetoolkit\r\n\r\n\r\n## IP Range Toolkit\r\n\r\nThe IP Range Toolkit is a versatile Python library for generating and working with IP address ranges. \r\nIt provides functions to generate IPv4 and IPv6 address ranges from various inputs, \r\nconvert between IP address formats, and create regular expressions for matching \r\nIP addresses within specified ranges. \r\nWhether you're a network administrator, a developer building IP-related tools, \r\nor simply need to work with IP addresses in your Python projects, this toolkit simplifies your tasks.\r\n\r\n## Key Features\r\n\r\n### Generate IP Ranges: \r\n\r\nEasily create ranges of IPv4 and IPv6 addresses based on starting and ending addresses or IP addresses with subnet masks.\r\n\r\n### Regular Expression Generation: \r\n\r\nCreate regular expression patterns (fast Trie regex) to match IP addresses within specified ranges or individual addresses.\r\n\r\n### Conversion Utilities: \r\n\r\nConvert between different IP address formats, such as integer representations and dotted-decimal notation.\r\n\r\n### IPv6 Support: \r\n\r\nFull support for IPv6 addresses and ranges, including regular expression generation.\r\n\r\n### Efficient Algorithms: \r\n\r\nUtilizes efficient algorithms to handle large IP address ranges and conversions.\r\n\r\n\r\n```python\r\n\r\nfrom iprangetoolkit import (\r\ngenerate_ipv4_range_from_2_ips,\r\ngenerate_ipv6_range_from_2_ips,\r\ngenerate_ipv4_range_from_1_ip_with_subnetmask,\r\ngenerate_ipv6_range_from_1_ip_with_subnetmask,\r\ngenerate_regex_from_ipv4_range,\r\ngenerate_regex_from_individual_ipsv4,\r\n)\r\n\r\nipstart = \"1.2.4.5\"\r\nipend = \"1.3.5.1\"\r\nips = generate_ipv4_range_from_2_ips(ipstart, ipend)\r\nprint(ips)\r\n\r\n# ips\r\n# Out[24]:\r\n# array(['1.2.4.5', '1.2.4.6', '1.2.4.7', ..., '1.3.4.2', '1.3.5.0',\r\n# '1.3.5.1'], dtype='<U15')\r\n\r\n\r\nips2 = generate_ipv6_range_from_2_ips(\r\n beginning=\"2001:0db8:0001:0000:0000:0ab9:C0A8:0002\",\r\n final=\"2001:0db8:0001:0000:0000:0ab9:C0A8:f202\",\r\n)\r\nprint(ips2)\r\n# ips2\r\n# Out[25]:\r\n# array(['2001:0db8:0001:0000:0000:0ab9:c0a8:0002',\r\n# '2001:0db8:0001:0000:0000:0ab9:c0a8:0003',\r\n# '2001:0db8:0001:0000:0000:0ab9:c0a8:0004', ...,\r\n# '2001:0db8:0001:0000:0000:0ab9:c0a8:f1ff',\r\n# '2001:0db8:0001:0000:0000:0ab9:c0a8:f200',\r\n# '2001:0db8:0001:0000:0000:0ab9:c0a8:f201'], dtype='<U39')\r\n\r\niv4 = generate_ipv4_range_from_1_ip_with_subnetmask(\r\n ipaddress_with_subnetmask=\"69.30.212.168/29\"\r\n)\r\n\r\n# iv4\r\n# Out[28]:\r\n# array(['69.30.212.168', '69.30.212.169', '69.30.212.170', '69.30.212.171',\r\n# '69.30.212.172', '69.30.212.173', '69.30.212.174', '69.30.212.175'],\r\n# dtype='<U15')\r\n\r\n\r\niv6 = generate_ipv6_range_from_1_ip_with_subnetmask(\r\n ipaddress_with_subnetmask=\"2001:0db8:1234:5678:9abc:def0:1234:5678/106\"\r\n)\r\nprint(iv6)\r\n# iv6\r\n# Out[29]:\r\n# array(['2001:0db8:1234:5678:9abc:def0:1234:5678',\r\n# '2001:0db8:1234:5678:9abc:def0:1234:5679',\r\n# '2001:0db8:1234:5678:9abc:def0:1234:567a', ...,\r\n# '2001:0db8:1234:5678:9abc:def0:123f:fffc',\r\n# '2001:0db8:1234:5678:9abc:def0:123f:fffd',\r\n# '2001:0db8:1234:5678:9abc:def0:123f:fffe'], dtype='<U39')\r\n\r\nprivat1 = generate_regex_from_ipv4_range(\r\n startip=\"192.168.0.0\",\r\n endip=\"192.168.255.255\",\r\n asbytes=True,\r\n compileregex=False,\r\n)\r\n# privat1 - fast Trie regex - https://stackoverflow.com/a/42789508/15096247\r\n# Out[30]: b'\\\\b192\\\\.168\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d]))\\\\b'\r\n\r\nprivat2 = generate_regex_from_ipv4_range(\r\n startip=\"172.16.0.0\",\r\n endip=\"172.31.255.255\",\r\n asbytes=False,\r\n compileregex=True,\r\n)\r\n# privat2 - fast Trie regex - https://stackoverflow.com/a/42789508/15096247\r\n# Out[5]: regex.Regex('\\\\b172\\\\.(?:1(?:6\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d]))|7\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d]))|8\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d]))|9\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])))|2(?:0\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d]))|1\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d]))|2\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d]))|3\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d]))|4\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d]))|5\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d]))|6\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d]))|7\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d]))|8\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d]))|9\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])))|3(?:0\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d]))|1\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d]))))\\\\b', flags=regex.V0)\r\n\r\nrepa = generate_regex_from_individual_ipsv4(\r\n iplist=[\"1.2.3.4\", \"3.5.3.1\", \"1.10.12.1\", \"192.168.255.255\"],\r\n asbytes=False,\r\n compileregex=False,\r\n)\r\n\r\n# repa\r\n# Out[3]: '\\\\b(?:1(?:92\\\\.168|\\\\.(?:10\\\\.12|2\\\\.3\\\\.4))|3\\\\.5\\\\.3\\\\.1)\\\\b'\r\n# regex.findall( '\\\\b(?:1(?:92\\\\.168|\\\\.(?:10\\\\.12|2\\\\.3\\\\.4))|3\\\\.5\\\\.3\\\\.1)\\\\b',r'''repa=generate_regex_from_individual_ipsv4(\r\n# iplist=['1.2.3.4', '3.5.3.1', '1.10.12.1','192.168.255.255'\r\n# ], asbytes=False,compileregex=False\r\n# )\r\n# ''')\r\n# Out[4]: ['1.2.3.4', '3.5.3.1', '1.10.12', '192.168']\r\n\r\nprivat3 = generate_regex_from_ipv4_range(\r\n startip=\"10.0.0.0\",\r\n endip=\"10.255.255.255\",\r\n asbytes=False,\r\n compileregex=True,\r\n)\r\nprint(privat3)\r\n# very fast regex\r\n# regex.Regex(\"\\\\b10\\\\.(?:0\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d]))|1(?:0(?:0\\\\.[\\\\d]|1\\\\.[\\\\d]|2\\\\.[\\\\d]|3\\\\.[\\\\d]|4\\\\.[\\\\d]|5\\\\.[\\\\d]|6\\\\.[\\\\d]|7\\\\.[\\\\d]|8\\\\.[\\\\d]|9\\\\.[\\\\d]|\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]))|1(?:0\\\\.[\\\\d]|1\\\\.[\\\\d]|2\\\\.[\\\\d]|3\\\\.[\\\\d]|4\\\\.[\\\\d]|5\\\\.[\\\\d]|6\\\\.[\\\\d]|7\\\\.[\\\\d]|8\\\\.[\\\\d]|9\\\\.[\\\\d]|\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]))|2(?:0\\\\.[\\\\d]|1\\\\.[\\\\d]|2\\\\.[\\\\d]|3\\\\.[\\\\d]|4\\\\.[\\\\d]|5\\\\.[\\\\d]|6\\\\.[\\\\d]|7\\\\.[\\\\d]|8\\\\.[\\\\d]|9\\\\.[\\\\d]|\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]))|3(?:0\\\\.[\\\\d]|1\\\\.[\\\\d]|2\\\\.[\\\\d]|3\\\\.[\\\\d]|4\\\\.[\\\\d]|5\\\\.[\\\\d]|6\\\\.[\\\\d]|7\\\\.[\\\\d]|8\\\\.[\\\\d]|9\\\\.[\\\\d]|\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]))|4(?:0\\\\.[\\\\d]|1\\\\.[\\\\d]|2\\\\.[\\\\d]|3\\\\.[\\\\d]|4\\\\.[\\\\d]|5\\\\.[\\\\d]|6\\\\.[\\\\d]|7\\\\.[\\\\d]|8\\\\.[\\\\d]|9\\\\.[\\\\d]|\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]))|5(?:0\\\\.[\\\\d]|1\\\\.[\\\\d]|2\\\\.[\\\\d]|3\\\\.[\\\\d]|4\\\\.[\\\\d]|5\\\\.[\\\\d]|6\\\\.[\\\\d]|7\\\\.[\\\\d]|8\\\\.[\\\\d]|9\\\\.[\\\\d]|\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]))|6(?:0\\\\.[\\\\d]|1\\\\.[\\\\d]|2\\\\.[\\\\d]|3\\\\.[\\\\d]|4\\\\.[\\\\d]|5\\\\.[\\\\d]|6\\\\.[\\\\d]|7\\\\.[\\\\d]|8\\\\.[\\\\d]|9\\\\.[\\\\d]|\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]))|7(?:0\\\\.[\\\\d]|1\\\\.[\\\\d]|2\\\\.[\\\\d]|3\\\\.[\\\\d]|4\\\\.[\\\\d]|5\\\\.[\\\\d]|6\\\\.[\\\\d]|7\\\\.[\\\\d]|8\\\\.[\\\\d]|9\\\\.[\\\\d]|\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]))|8(?:0\\\\.[\\\\d]|1\\\\.[\\\\d]|2\\\\.[\\\\d]|3\\\\.[\\\\d]|4\\\\.[\\\\d]|5\\\\.[\\\\d]|6\\\\.[\\\\d]|7\\\\.[\\\\d]|8\\\\.[\\\\d]|9\\\\.[\\\\d]|\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]))|9(?:0\\\\.[\\\\d]|1\\\\.[\\\\d]|2\\\\.[\\\\d]|3\\\\.[\\\\d]|4\\\\.[\\\\d]|5\\\\.[\\\\d]|6\\\\.[\\\\d]|7\\\\.[\\\\d]|8\\\\.[\\\\d]|9\\\\.[\\\\d]|\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]))|\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])))|2(?:0(?:0\\\\.[\\\\d]|1\\\\.[\\\\d]|2\\\\.[\\\\d]|3\\\\.[\\\\d]|4\\\\.[\\\\d]|5\\\\.[\\\\d]|6\\\\.[\\\\d]|7\\\\.[\\\\d]|8\\\\.[\\\\d]|9\\\\.[\\\\d]|\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]))|1(?:0\\\\.[\\\\d]|1\\\\.[\\\\d]|2\\\\.[\\\\d]|3\\\\.[\\\\d]|4\\\\.[\\\\d]|5\\\\.[\\\\d]|6\\\\.[\\\\d]|7\\\\.[\\\\d]|8\\\\.[\\\\d]|9\\\\.[\\\\d]|\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]))|2(?:0\\\\.[\\\\d]|1\\\\.[\\\\d]|2\\\\.[\\\\d]|3\\\\.[\\\\d]|4\\\\.[\\\\d]|5\\\\.[\\\\d]|6\\\\.[\\\\d]|7\\\\.[\\\\d]|8\\\\.[\\\\d]|9\\\\.[\\\\d]|\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]))|3(?:0\\\\.[\\\\d]|1\\\\.[\\\\d]|2\\\\.[\\\\d]|3\\\\.[\\\\d]|4\\\\.[\\\\d]|5\\\\.[\\\\d]|6\\\\.[\\\\d]|7\\\\.[\\\\d]|8\\\\.[\\\\d]|9\\\\.[\\\\d]|\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]))|4(?:0\\\\.[\\\\d]|1\\\\.[\\\\d]|2\\\\.[\\\\d]|3\\\\.[\\\\d]|4\\\\.[\\\\d]|5\\\\.[\\\\d]|6\\\\.[\\\\d]|7\\\\.[\\\\d]|8\\\\.[\\\\d]|9\\\\.[\\\\d]|\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]))|5(?:0\\\\.[\\\\d]|1\\\\.[\\\\d]|2\\\\.[\\\\d]|3\\\\.[\\\\d]|4\\\\.[\\\\d]|5\\\\.[\\\\d]|\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]))|6\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|7\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|8\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|9\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])))|3(?:0\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|1\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|2\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|3\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|4\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|5\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|6\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|7\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|8\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|9\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])))|4(?:0\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|1\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|2\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|3\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|4\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|5\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|6\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|7\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|8\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|9\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])))|5(?:0\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|1\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|2\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|3\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|4\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|5\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|6\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|7\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|8\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|9\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])))|6(?:0\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|1\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|2\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|3\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|4\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|5\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|6\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|7\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|8\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|9\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])))|7(?:0\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|1\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|2\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|3\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|4\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|5\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|6\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|7\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|8\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|9\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])))|8(?:0\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|1\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|2\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|3\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|4\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|5\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|6\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|7\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|8\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|9\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])))|9(?:0\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|1\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|2\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|3\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|4\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|5\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|6\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|7\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|8\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|9\\\\.(?:0\\\\.|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d])|\\\\.(?:0\\\\.[\\\\d]|1(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.\\\\d]|6[\\\\.\\\\d]|7[\\\\.\\\\d]|8[\\\\.\\\\d]|9[\\\\.\\\\d]|\\\\.[\\\\d])|2(?:0[\\\\.\\\\d]|1[\\\\.\\\\d]|2[\\\\.\\\\d]|3[\\\\.\\\\d]|4[\\\\.\\\\d]|5[\\\\.012345]|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|3(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|4(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|5(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|6(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|7(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|8(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d])|9(?:0\\\\.|1\\\\.|2\\\\.|3\\\\.|4\\\\.|5\\\\.|6\\\\.|7\\\\.|8\\\\.|9\\\\.|\\\\.[\\\\d]))))\\\\b\",flags=regex.V0,)\r\n# alra=''.join(iv4.astype('U'))\r\n# privat3.findall(alra)\r\n\r\n```\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "The IP Range Toolkit is a versatile Python library for generating and working with IP address ranges.",
"version": "0.10",
"project_urls": {
"Homepage": "https://github.com/hansalemaos/iprangetoolkit"
},
"split_keywords": [
"range",
"ip",
"regex"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5eafeac9f25e62465d103715466e735f509e50600efe8fe7144a3d539e1542a6",
"md5": "bffc478531e3207acc2c726cca54d1a0",
"sha256": "744f69c640d345811f70932a81b2a16d39c36791799ec9f8cfb7ad65248d01e3"
},
"downloads": -1,
"filename": "iprangetoolkit-0.10-py3-none-any.whl",
"has_sig": false,
"md5_digest": "bffc478531e3207acc2c726cca54d1a0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 30980,
"upload_time": "2023-09-08T06:05:20",
"upload_time_iso_8601": "2023-09-08T06:05:20.357752Z",
"url": "https://files.pythonhosted.org/packages/5e/af/eac9f25e62465d103715466e735f509e50600efe8fe7144a3d539e1542a6/iprangetoolkit-0.10-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "19030dededa8c43a4d468896dee0f460959d64b88f0a3f7020188fbf84bd69cb",
"md5": "2de99401e136eab887c5600fa3e6f52b",
"sha256": "0479e0e9dd2b92778d8e8b7700b25642f1fb2b9e7dc2c988a5ebe60d3f7b9365"
},
"downloads": -1,
"filename": "iprangetoolkit-0.10.tar.gz",
"has_sig": false,
"md5_digest": "2de99401e136eab887c5600fa3e6f52b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 35260,
"upload_time": "2023-09-08T06:05:22",
"upload_time_iso_8601": "2023-09-08T06:05:22.581786Z",
"url": "https://files.pythonhosted.org/packages/19/03/0dededa8c43a4d468896dee0f460959d64b88f0a3f7020188fbf84bd69cb/iprangetoolkit-0.10.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-08 06:05:22",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "hansalemaos",
"github_project": "iprangetoolkit",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "numexpr",
"specs": []
},
{
"name": "numpy",
"specs": []
},
{
"name": "pandas",
"specs": []
},
{
"name": "regex",
"specs": []
}
],
"lcname": "iprangetoolkit"
}