iprangetoolkit


Nameiprangetoolkit JSON
Version 0.10 PyPI version JSON
download
home_pagehttps://github.com/hansalemaos/iprangetoolkit
SummaryThe IP Range Toolkit is a versatile Python library for generating and working with IP address ranges.
upload_time2023-09-08 06:05:22
maintainer
docs_urlNone
authorJohannes Fischer
requires_python
licenseMIT
keywords range ip regex
VCS
bugtrack_url
requirements numexpr numpy pandas regex
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# 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"
}
        
Elapsed time: 0.54096s