Package: iprangetoolkit
The IP Range Toolkit is a versatile Python library for generating and working with IP address ranges.Tested against Windows 10 / Python 3.10 / Anacondapip install iprangetoolkitIP Range ToolkitThe 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 FeaturesGenerate 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.fromiprangetoolkitimport(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)