Skip to main content

Alternative regular expression module, to replace re.

Project description

Introduction

This regex implementation is backwards-compatible with the standard ‘re’ module, but offers additional functionality.

Python 2

Python 2 is no longer supported. The last release that supported Python 2 was 2021.11.10.

PyPy

This module is targeted at CPython. It expects that all codepoints are the same width, so it won’t behave properly with PyPy outside U+0000..U+007F because PyPy stores strings as UTF-8.

Multithreading

The regex module releases the GIL during matching on instances of the built-in (immutable) string classes, enabling other Python threads to run concurrently. It is also possible to force the regex module to release the GIL during matching by calling the matching methods with the keyword argument concurrent=True. The behaviour is undefined if the string changes during matching, so use it only when it is guaranteed that that won’t happen.

Unicode

This module supports Unicode 17.0.0. Full Unicode case-folding is supported.

Flags

There are 2 kinds of flag: scoped and global. Scoped flags can apply to only part of a pattern and can be turned on or off; global flags apply to the entire pattern and can only be turned on.

The scoped flags are: ASCII (?a), FULLCASE (?f), IGNORECASE (?i), LOCALE (?L), MULTILINE (?m), DOTALL (?s), UNICODE (?u), VERBOSE (?x), WORD (?w).

The global flags are: BESTMATCH (?b), ENHANCEMATCH (?e), POSIX (?p), REVERSE (?r), VERSION0 (?V0), VERSION1 (?V1).

If neither the ASCII, LOCALE nor UNICODE flag is specified, it will default to UNICODE if the regex pattern is a Unicode string and ASCII if it’s a bytestring.

The ENHANCEMATCH flag makes fuzzy matching attempt to improve the fit of the next match that it finds.

The BESTMATCH flag makes fuzzy matching search for the best match instead of the next match.

Old vs new behaviour

In order to be compatible with the re module, this module has 2 behaviours:

  • Version 0 behaviour (old behaviour, compatible with the re module):

    Please note that the re module’s behaviour may change over time, and I’ll endeavour to match that behaviour in version 0.

    • Indicated by the VERSION0 flag.

    • Zero-width matches are not handled correctly in the re module before Python 3.7. The behaviour in those earlier versions is:

      • .split won’t split a string at a zero-width match.

      • .sub will advance by one character after a zero-width match.

    • Inline flags apply to the entire pattern, and they can’t be turned off.

    • Only simple sets are supported.

    • Case-insensitive matches in Unicode use simple case-folding by default.

  • Version 1 behaviour (new behaviour, possibly different from the re module):

    • Indicated by the VERSION1 flag.

    • Zero-width matches are handled correctly.

    • Inline flags apply to the end of the group or pattern, and they can be turned off.

    • Nested sets and set operations are supported.

    • Case-insensitive matches in Unicode use full case-folding by default.

If no version is specified, the regex module will default to regex.DEFAULT_VERSION.

Case-insensitive matches in Unicode

The regex module supports both simple and full case-folding for case-insensitive matches in Unicode. Use of full case-folding can be turned on using the FULLCASE flag. Please note that this flag affects how the IGNORECASE flag works; the FULLCASE flag itself does not turn on case-insensitive matching.

Version 0 behaviour: the flag is off by default.

Version 1 behaviour: the flag is on by default.

Nested sets and set operations

It’s not possible to support both simple sets, as used in the re module, and nested sets at the same time because of a difference in the meaning of an unescaped "[" in a set.

For example, the pattern [[a-z]--[aeiou]] is treated in the version 0 behaviour (simple sets, compatible with the re module) as:

  • Set containing “[” and the letters “a” to “z”

  • Literal “–”

  • Set containing letters “a”, “e”, “i”, “o”, “u”

  • Literal “]”

but in the version 1 behaviour (nested sets, enhanced behaviour) as:

  • Set which is:

    • Set containing the letters “a” to “z”

  • but excluding:

    • Set containing the letters “a”, “e”, “i”, “o”, “u”

Version 0 behaviour: only simple sets are supported.

Version 1 behaviour: nested sets and set operations are supported.

Notes on named groups

All groups have a group number, starting from 1.

Groups with the same group name will have the same group number, and groups with a different group name will have a different group number.

The same name can be used by more than one group, with later captures ‘overwriting’ earlier captures. All the captures of the group will be available from the captures method of the match object.

Group numbers will be reused across different branches of a branch reset, eg. (?|(first)|(second)) has only group 1. If groups have different group names then they will, of course, have different group numbers, eg. (?|(?P<foo>first)|(?P<bar>second)) has group 1 (“foo”) and group 2 (“bar”).

In the regex (\s+)(?|(?P<foo>[A-Z]+)|(\w+) (?P<foo>[0-9]+) there are 2 groups:

  • (\s+) is group 1.

  • (?P<foo>[A-Z]+) is group 2, also called “foo”.

  • (\w+) is group 2 because of the branch reset.

  • (?P<foo>[0-9]+) is group 2 because it’s called “foo”.

If you want to prevent (\w+) from being group 2, you need to name it (different name, different group number).

Additional features

The issue numbers relate to the Python bug tracker, except where listed otherwise.

Added \p{Horiz_Space} and \p{Vert_Space} (GitHub issue 477)

\p{Horiz_Space} or \p{H} matches horizontal whitespace and \p{Vert_Space} or \p{V} matches vertical whitespace.

Added support for lookaround in conditional pattern (Hg issue 163)

The test of a conditional pattern can be a lookaround.

>>> regex.match(r'(?(?=\d)\d+|\w+)', '123abc')
<regex.Match object; span=(0, 3), match='123'>
>>> regex.match(r'(?(?=\d)\d+|\w+)', 'abc123')
<regex.Match object; span=(0, 6), match='abc123'>

This is not quite the same as putting a lookaround in the first branch of a pair of alternatives.

>>> print(regex.match(r'(?:(?=\d)\d+\b|\w+)', '123abc'))
<regex.Match object; span=(0, 6), match='123abc'>
>>> print(regex.match(r'(?(?=\d)\d+\b|\w+)', '123abc'))
None

In the first example, the lookaround matched, but the remainder of the first branch failed to match, and so the second branch was attempted, whereas in the second example, the lookaround matched, and the first branch failed to match, but the second branch was not attempted.

Added POSIX matching (leftmost longest) (Hg issue 150)

The POSIX standard for regex is to return the leftmost longest match. This can be turned on using the POSIX flag.

It looks for the longest overall match. It doesn’t look for the longest match for each group.

>>> # Normal matching.
>>> regex.search(r'Mr|Mrs', 'Mrs')
<regex.Match object; span=(0, 2), match='Mr'>
>>> regex.search(r'one(self)?(selfsufficient)?', 'oneselfsufficient')
<regex.Match object; span=(0, 7), match='oneself'>
>>> # POSIX matching.
>>> regex.search(r'(?p)Mr|Mrs', 'Mrs')
<regex.Match object; span=(0, 3), match='Mrs'>
>>> regex.search(r'(?p)one(self)?(selfsufficient)?', 'oneselfsufficient')
<regex.Match object; span=(0, 17), match='oneselfsufficient'>

Note that it will take longer to find matches because when it finds a match at a certain position, it won’t return that immediately, but will keep looking to see if there’s another longer match there.

Added (?(DEFINE)...) (Hg issue 152)

If there’s no group called “DEFINE”, then … will be ignored except that any groups defined within it can be called and that the normal rules for numbering groups still apply.

>>> regex.search(r'(?(DEFINE)(?P<quant>\d+)(?P<item>\w+))(?&quant) (?&item)', '5 elephants')
<regex.Match object; span=(0, 11), match='5 elephants'>

Added (*PRUNE), (*SKIP) and (*FAIL) (Hg issue 153)

(*PRUNE) discards the backtracking info up to that point. When used in an atomic group or a lookaround, it won’t affect the enclosing pattern.

(*SKIP) is similar to (*PRUNE), except that it also sets where in the text the next attempt to match will start. When used in an atomic group or a lookaround, it won’t affect the enclosing pattern.

(*FAIL) causes immediate backtracking. (*F) is a permitted abbreviation.

Added \K (Hg issue 151)

Keeps the part of the entire match after the position where \K occurred; the part before it is discarded.

It does not affect what groups return.

>>> m = regex.search(r'(\w\w\K\w\w\w)', 'abcdef')
>>> m[0]
'cde'
>>> m[1]
'abcde'
>>>
>>> m = regex.search(r'(?r)(\w\w\K\w\w\w)', 'abcdef')
>>> m[0]
'bc'
>>> m[1]
'bcdef'

Added capture subscripting for expandf and subf/subfn (Hg issue 133)

You can use subscripting to get the captures of a repeated group.

>>> m = regex.match(r"(\w)+", "abc")
>>> m.expandf("{1}")
'c'
>>> m.expandf("{1[0]} {1[1]} {1[2]}")
'a b c'
>>> m.expandf("{1[-1]} {1[-2]} {1[-3]}")
'c b a'
>>>
>>> m = regex.match(r"(?P<letter>\w)+", "abc")
>>> m.expandf("{letter}")
'c'
>>> m.expandf("{letter[0]} {letter[1]} {letter[2]}")
'a b c'
>>> m.expandf("{letter[-1]} {letter[-2]} {letter[-3]}")
'c b a'

Added support for referring to a group by number using (?P=...)

This is in addition to the existing \g<...>.

Fixed the handling of locale-sensitive regexes

The LOCALE flag is intended for legacy code and has limited support. You’re still recommended to use Unicode instead.

Added partial matches (Hg issue 102)

A partial match is one that matches up to the end of string, but that string has been truncated and you want to know whether a complete match could be possible if the string had not been truncated.

Partial matches are supported by match, search, fullmatch and finditer with the partial keyword argument.

Match objects have a partial attribute, which is True if it’s a partial match.

For example, if you wanted a user to enter a 4-digit number and check it character by character as it was being entered:

>>> pattern = regex.compile(r'\d{4}')

>>> # Initially, nothing has been entered:
>>> print(pattern.fullmatch('', partial=True))
<regex.Match object; span=(0, 0), match='', partial=True>

>>> # An empty string is OK, but it's only a partial match.
>>> # The user enters a letter:
>>> print(pattern.fullmatch('a', partial=True))
None
>>> # It'll never match.

>>> # The user deletes that and enters a digit:
>>> print(pattern.fullmatch('1', partial=True))
<regex.Match object; span=(0, 1), match='1', partial=True>
>>> # It matches this far, but it's only a partial match.

>>> # The user enters 2 more digits:
>>> print(pattern.fullmatch('123', partial=True))
<regex.Match object; span=(0, 3), match='123', partial=True>
>>> # It matches this far, but it's only a partial match.

>>> # The user enters another digit:
>>> print(pattern.fullmatch('1234', partial=True))
<regex.Match object; span=(0, 4), match='1234'>
>>> # It's a complete match.

>>> # If the user enters another digit:
>>> print(pattern.fullmatch('12345', partial=True))
None
>>> # It's no longer a match.

>>> # This is a partial match:
>>> pattern.match('123', partial=True).partial
True

>>> # This is a complete match:
>>> pattern.match('1233', partial=True).partial
False

* operator not working correctly with sub() (Hg issue 106)

Sometimes it’s not clear how zero-width matches should be handled. For example, should .* match 0 characters directly after matching >0 characters?

>>> regex.sub('.*', 'x', 'test')
'xx'
>>> regex.sub('.*?', '|', 'test')
'|||||||||'

Added capturesdict (Hg issue 86)

capturesdict is a combination of groupdict and captures:

groupdict returns a dict of the named groups and the last capture of those groups.

captures returns a list of all the captures of a group

capturesdict returns a dict of the named groups and lists of all the captures of those groups.

>>> m = regex.match(r"(?:(?P<word>\w+) (?P<digits>\d+)\n)+", "one 1\ntwo 2\nthree 3\n")
>>> m.groupdict()
{'word': 'three', 'digits': '3'}
>>> m.captures("word")
['one', 'two', 'three']
>>> m.captures("digits")
['1', '2', '3']
>>> m.capturesdict()
{'word': ['one', 'two', 'three'], 'digits': ['1', '2', '3']}

Added allcaptures and allspans (Git issue 474)

allcaptures returns a list of all the captures of all the groups.

allspans returns a list of all the spans of the all captures of all the groups.

>>> m = regex.match(r"(?:(?P<word>\w+) (?P<digits>\d+)\n)+", "one 1\ntwo 2\nthree 3\n")
>>> m.allcaptures()
(['one 1\ntwo 2\nthree 3\n'], ['one', 'two', 'three'], ['1', '2', '3'])
>>> m.allspans()
([(0, 20)], [(0, 3), (6, 9), (12, 17)], [(4, 5), (10, 11), (18, 19)])

Allow duplicate names of groups (Hg issue 87)

Group names can be duplicated.

>>> # With optional groups:
>>>
>>> # Both groups capture, the second capture 'overwriting' the first.
>>> m = regex.match(r"(?P<item>\w+)? or (?P<item>\w+)?", "first or second")
>>> m.group("item")
'second'
>>> m.captures("item")
['first', 'second']
>>> # Only the second group captures.
>>> m = regex.match(r"(?P<item>\w+)? or (?P<item>\w+)?", " or second")
>>> m.group("item")
'second'
>>> m.captures("item")
['second']
>>> # Only the first group captures.
>>> m = regex.match(r"(?P<item>\w+)? or (?P<item>\w+)?", "first or ")
>>> m.group("item")
'first'
>>> m.captures("item")
['first']
>>>
>>> # With mandatory groups:
>>>
>>> # Both groups capture, the second capture 'overwriting' the first.
>>> m = regex.match(r"(?P<item>\w*) or (?P<item>\w*)?", "first or second")
>>> m.group("item")
'second'
>>> m.captures("item")
['first', 'second']
>>> # Again, both groups capture, the second capture 'overwriting' the first.
>>> m = regex.match(r"(?P<item>\w*) or (?P<item>\w*)", " or second")
>>> m.group("item")
'second'
>>> m.captures("item")
['', 'second']
>>> # And yet again, both groups capture, the second capture 'overwriting' the first.
>>> m = regex.match(r"(?P<item>\w*) or (?P<item>\w*)", "first or ")
>>> m.group("item")
''
>>> m.captures("item")
['first', '']

Added fullmatch (issue #16203)

fullmatch behaves like match, except that it must match all of the string.

>>> print(regex.fullmatch(r"abc", "abc").span())
(0, 3)
>>> print(regex.fullmatch(r"abc", "abcx"))
None
>>> print(regex.fullmatch(r"abc", "abcx", endpos=3).span())
(0, 3)
>>> print(regex.fullmatch(r"abc", "xabcy", pos=1, endpos=4).span())
(1, 4)
>>>
>>> regex.match(r"a.*?", "abcd").group(0)
'a'
>>> regex.fullmatch(r"a.*?", "abcd").group(0)
'abcd'

Added subf and subfn

subf and subfn are alternatives to sub and subn respectively. When passed a replacement string, they treat it as a format string.

>>> regex.subf(r"(\w+) (\w+)", "{0} => {2} {1}", "foo bar")
'foo bar => bar foo'
>>> regex.subf(r"(?P<word1>\w+) (?P<word2>\w+)", "{word2} {word1}", "foo bar")
'bar foo'

Added expandf to match object

expandf is an alternative to expand. When passed a replacement string, it treats it as a format string.

>>> m = regex.match(r"(\w+) (\w+)", "foo bar")
>>> m.expandf("{0} => {2} {1}")
'foo bar => bar foo'
>>>
>>> m = regex.match(r"(?P<word1>\w+) (?P<word2>\w+)", "foo bar")
>>> m.expandf("{word2} {word1}")
'bar foo'

Detach searched string

A match object contains a reference to the string that was searched, via its string attribute. The detach_string method will ‘detach’ that string, making it available for garbage collection, which might save valuable memory if that string is very large.

>>> m = regex.search(r"\w+", "Hello world")
>>> print(m.group())
Hello
>>> print(m.string)
Hello world
>>> m.detach_string()
>>> print(m.group())
Hello
>>> print(m.string)
None

Recursive patterns (Hg issue 27)

Recursive and repeated patterns are supported.

(?R) or (?0) tries to match the entire regex recursively. (?1), (?2), etc, try to match the relevant group.

(?&name) tries to match the named group.

>>> regex.match(r"(Tarzan|Jane) loves (?1)", "Tarzan loves Jane").groups()
('Tarzan',)
>>> regex.match(r"(Tarzan|Jane) loves (?1)", "Jane loves Tarzan").groups()
('Jane',)

>>> m = regex.search(r"(\w)(?:(?R)|(\w?))\1", "kayak")
>>> m.group(0, 1, 2)
('kayak', 'k', None)

The first two examples show how the subpattern within the group is reused, but is _not_ itself a group. In other words, "(Tarzan|Jane) loves (?1)" is equivalent to "(Tarzan|Jane) loves (?:Tarzan|Jane)".

It’s possible to backtrack into a recursed or repeated group.

You can’t call a group if there is more than one group with that group name or group number ("ambiguous group reference").

The alternative forms (?P>name) and (?P&name) are also supported.

Full Unicode case-folding is supported

In version 1 behaviour, the regex module uses full case-folding when performing case-insensitive matches in Unicode.

>>> regex.match(r"(?iV1)strasse", "stra\N{LATIN SMALL LETTER SHARP S}e").span()
(0, 6)
>>> regex.match(r"(?iV1)stra\N{LATIN SMALL LETTER SHARP S}e", "STRASSE").span()
(0, 7)

In version 0 behaviour, it uses simple case-folding for backward compatibility with the re module.

Approximate “fuzzy” matching (Hg issue 12, Hg issue 41, Hg issue 109)

Regex usually attempts an exact match, but sometimes an approximate, or “fuzzy”, match is needed, for those cases where the text being searched may contain errors in the form of inserted, deleted or substituted characters.

A fuzzy regex specifies which types of errors are permitted, and, optionally, either the minimum and maximum or only the maximum permitted number of each type. (You cannot specify only a minimum.)

The 3 types of error are:

  • Insertion, indicated by “i”

  • Deletion, indicated by “d”

  • Substitution, indicated by “s”

In addition, “e” indicates any type of error.

The fuzziness of a regex item is specified between “{” and “}” after the item.

Examples:

  • foo match “foo” exactly

  • (?:foo){i} match “foo”, permitting insertions

  • (?:foo){d} match “foo”, permitting deletions

  • (?:foo){s} match “foo”, permitting substitutions

  • (?:foo){i,s} match “foo”, permitting insertions and substitutions

  • (?:foo){e} match “foo”, permitting errors

If a certain type of error is specified, then any type not specified will not be permitted.

In the following examples I’ll omit the item and write only the fuzziness:

  • {d<=3} permit at most 3 deletions, but no other types

  • {i<=1,s<=2} permit at most 1 insertion and at most 2 substitutions, but no deletions

  • {1<=e<=3} permit at least 1 and at most 3 errors

  • {i<=2,d<=2,e<=3} permit at most 2 insertions, at most 2 deletions, at most 3 errors in total, but no substitutions

It’s also possible to state the costs of each type of error and the maximum permitted total cost.

Examples:

  • {2i+2d+1s<=4} each insertion costs 2, each deletion costs 2, each substitution costs 1, the total cost must not exceed 4

  • {i<=1,d<=1,s<=1,2i+2d+1s<=4} at most 1 insertion, at most 1 deletion, at most 1 substitution; each insertion costs 2, each deletion costs 2, each substitution costs 1, the total cost must not exceed 4

You can also use “<” instead of “<=” if you want an exclusive minimum or maximum.

You can add a test to perform on a character that’s substituted or inserted.

Examples:

  • {s<=2:[a-z]} at most 2 substitutions, which must be in the character set [a-z].

  • {s<=2,i<=3:\d} at most 2 substitutions, at most 3 insertions, which must be digits.

By default, fuzzy matching searches for the first match that meets the given constraints. The ENHANCEMATCH flag will cause it to attempt to improve the fit (i.e. reduce the number of errors) of the match that it has found.

The BESTMATCH flag will make it search for the best match instead.

Further examples to note:

  • regex.search("(dog){e}", "cat and dog")[1] returns "cat" because that matches "dog" with 3 errors (an unlimited number of errors is permitted).

  • regex.search("(dog){e<=1}", "cat and dog")[1] returns " dog" (with a leading space) because that matches "dog" with 1 error, which is within the limit.

  • regex.search("(?e)(dog){e<=1}", "cat and dog")[1] returns "dog" (without a leading space) because the fuzzy search matches " dog" with 1 error, which is within the limit, and the (?e) then it attempts a better fit.

In the first two examples there are perfect matches later in the string, but in neither case is it the first possible match.

The match object has an attribute fuzzy_counts which gives the total number of substitutions, insertions and deletions.

>>> # A 'raw' fuzzy match:
>>> regex.fullmatch(r"(?:cats|cat){e<=1}", "cat").fuzzy_counts
(0, 0, 1)
>>> # 0 substitutions, 0 insertions, 1 deletion.

>>> # A better match might be possible if the ENHANCEMATCH flag used:
>>> regex.fullmatch(r"(?e)(?:cats|cat){e<=1}", "cat").fuzzy_counts
(0, 0, 0)
>>> # 0 substitutions, 0 insertions, 0 deletions.

The match object also has an attribute fuzzy_changes which gives a tuple of the positions of the substitutions, insertions and deletions.

>>> m = regex.search('(fuu){i<=2,d<=2,e<=5}', 'anaconda foo bar')
>>> m
<regex.Match object; span=(7, 10), match='a f', fuzzy_counts=(0, 2, 2)>
>>> m.fuzzy_changes
([], [7, 8], [10, 11])

What this means is that if the matched part of the string had been:

'anacondfuuoo bar'

it would’ve been an exact match.

However, there were insertions at positions 7 and 8:

'anaconda fuuoo bar'
        ^^

and deletions at positions 10 and 11:

'anaconda f~~oo bar'
           ^^

So the actual string was:

'anaconda foo bar'

Named lists \L<name> (Hg issue 11)

There are occasions where you may want to include a list (actually, a set) of options in a regex.

One way is to build the pattern like this:

>>> p = regex.compile(r"first|second|third|fourth|fifth")

but if the list is large, parsing the resulting regex can take considerable time, and care must also be taken that the strings are properly escaped and properly ordered, for example, “cats” before “cat”.

The new alternative is to use a named list:

>>> option_set = ["first", "second", "third", "fourth", "fifth"]
>>> p = regex.compile(r"\L<options>", options=option_set)

The order of the items is irrelevant, they are treated as a set. The named lists are available as the .named_lists attribute of the pattern object :

>>> print(p.named_lists)
{'options': frozenset({'third', 'first', 'fifth', 'fourth', 'second'})}

If there are any unused keyword arguments, ValueError will be raised unless you tell it otherwise:

>>> option_set = ["first", "second", "third", "fourth", "fifth"]
>>> p = regex.compile(r"\L<options>", options=option_set, other_options=[])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python310\lib\site-packages\regex\regex.py", line 353, in compile
    return _compile(pattern, flags, ignore_unused, kwargs, cache_pattern)
  File "C:\Python310\lib\site-packages\regex\regex.py", line 500, in _compile
    complain_unused_args()
  File "C:\Python310\lib\site-packages\regex\regex.py", line 483, in complain_unused_args
    raise ValueError('unused keyword argument {!a}'.format(any_one))
ValueError: unused keyword argument 'other_options'
>>> p = regex.compile(r"\L<options>", options=option_set, other_options=[], ignore_unused=True)
>>> p = regex.compile(r"\L<options>", options=option_set, other_options=[], ignore_unused=False)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python310\lib\site-packages\regex\regex.py", line 353, in compile
    return _compile(pattern, flags, ignore_unused, kwargs, cache_pattern)
  File "C:\Python310\lib\site-packages\regex\regex.py", line 500, in _compile
    complain_unused_args()
  File "C:\Python310\lib\site-packages\regex\regex.py", line 483, in complain_unused_args
    raise ValueError('unused keyword argument {!a}'.format(any_one))
ValueError: unused keyword argument 'other_options'
>>>

Start and end of word

\m matches at the start of a word.

\M matches at the end of a word.

Compare with \b, which matches at the start or end of a word.

Unicode line separators

Normally the only line separator is \n (\x0A), but if the WORD flag is turned on then the line separators are \x0D\x0A, \x0A, \x0B, \x0C and \x0D, plus \x85, \u2028 and \u2029 when working with Unicode.

This affects the regex dot ".", which, with the DOTALL flag turned off, matches any character except a line separator. It also affects the line anchors ^ and $ (in multiline mode).

Set operators

Version 1 behaviour only

Set operators have been added, and a set [...] can include nested sets.

The operators, in order of increasing precedence, are:

  • || for union (“x||y” means “x or y”)

  • ~~ (double tilde) for symmetric difference (“x~~y” means “x or y, but not both”)

  • && for intersection (“x&&y” means “x and y”)

  • -- (double dash) for difference (“x–y” means “x but not y”)

Implicit union, ie, simple juxtaposition like in [ab], has the highest precedence. Thus, [ab&&cd] is the same as [[a||b]&&[c||d]].

Examples:

  • [ab] # Set containing ‘a’ and ‘b’

  • [a-z] # Set containing ‘a’ .. ‘z’

  • [[a-z]--[qw]] # Set containing ‘a’ .. ‘z’, but not ‘q’ or ‘w’

  • [a-z--qw] # Same as above

  • [\p{L}--QW] # Set containing all letters except ‘Q’ and ‘W’

  • [\p{N}--[0-9]] # Set containing all numbers except ‘0’ .. ‘9’

  • [\p{ASCII}&&\p{Letter}] # Set containing all characters which are ASCII and letter

regex.escape (issue #2650)

regex.escape has an additional keyword parameter special_only. When True, only ‘special’ regex characters, such as ‘?’, are escaped.

>>> regex.escape("foo!?", special_only=False)
'foo\\!\\?'
>>> regex.escape("foo!?", special_only=True)
'foo!\\?'

regex.escape (Hg issue 249)

regex.escape has an additional keyword parameter literal_spaces. When True, spaces are not escaped.

>>> regex.escape("foo bar!?", literal_spaces=False)
'foo\\ bar!\\?'
>>> regex.escape("foo bar!?", literal_spaces=True)
'foo bar!\\?'

Repeated captures (issue #7132)

A match object has additional methods which return information on all the successful matches of a repeated group. These methods are:

  • matchobject.captures([group1, ...])

    • Returns a list of the strings matched in a group or groups. Compare with matchobject.group([group1, ...]).

  • matchobject.starts([group])

    • Returns a list of the start positions. Compare with matchobject.start([group]).

  • matchobject.ends([group])

    • Returns a list of the end positions. Compare with matchobject.end([group]).

  • matchobject.spans([group])

    • Returns a list of the spans. Compare with matchobject.span([group]).

>>> m = regex.search(r"(\w{3})+", "123456789")
>>> m.group(1)
'789'
>>> m.captures(1)
['123', '456', '789']
>>> m.start(1)
6
>>> m.starts(1)
[0, 3, 6]
>>> m.end(1)
9
>>> m.ends(1)
[3, 6, 9]
>>> m.span(1)
(6, 9)
>>> m.spans(1)
[(0, 3), (3, 6), (6, 9)]

Atomic grouping (?>...) (issue #433030)

If the following pattern subsequently fails, then the subpattern as a whole will fail.

Possessive quantifiers

(?:...)?+ ; (?:...)*+ ; (?:...)++ ; (?:...){min,max}+

The subpattern is matched up to ‘max’ times. If the following pattern subsequently fails, then all the repeated subpatterns will fail as a whole. For example, (?:...)++ is equivalent to (?>(?:...)+).

Scoped flags (issue #433028)

(?flags-flags:...)

The flags will apply only to the subpattern. Flags can be turned on or off.

Definition of ‘word’ character (issue #1693050)

The definition of a ‘word’ character has been expanded for Unicode. It conforms to the Unicode specification at http://www.unicode.org/reports/tr29/.

Variable-length lookbehind

A lookbehind can match a variable-length string.

Flags argument for regex.split, regex.sub and regex.subn (issue #3482)

regex.split, regex.sub and regex.subn support a ‘flags’ argument.

Pos and endpos arguments for regex.sub and regex.subn

regex.sub and regex.subn support ‘pos’ and ‘endpos’ arguments.

‘Overlapped’ argument for regex.findall and regex.finditer

regex.findall and regex.finditer support an ‘overlapped’ flag which permits overlapped matches.

Splititer

regex.splititer has been added. It’s a generator equivalent of regex.split.

Subscripting match objects for groups

A match object accepts access to the groups via subscripting and slicing:

>>> m = regex.search(r"(?P<before>.*?)(?P<num>\d+)(?P<after>.*)", "pqr123stu")
>>> print(m["before"])
pqr
>>> print(len(m))
4
>>> print(m[:])
('pqr123stu', 'pqr', '123', 'stu')

Named groups

Groups can be named with (?<name>...) as well as the existing (?P<name>...).

Group references

Groups can be referenced within a pattern with \g<name>. This also allows there to be more than 99 groups.

Named characters \N{name}

Named characters are supported. Note that only those known by Python’s Unicode database will be recognised.

Unicode codepoint properties, including scripts and blocks

\p{property=value}; \P{property=value}; \p{value} ; \P{value}

Many Unicode properties are supported, including blocks and scripts. \p{property=value} or \p{property:value} matches a character whose property property has value value. The inverse of \p{property=value} is \P{property=value} or \p{^property=value}.

If the short form \p{value} is used, the properties are checked in the order: General_Category, Script, Block, binary property:

  • Latin, the ‘Latin’ script (Script=Latin).

  • BasicLatin, the ‘BasicLatin’ block (Block=BasicLatin).

  • Alphabetic, the ‘Alphabetic’ binary property (Alphabetic=Yes).

A short form starting with Is indicates a script or binary property:

  • IsLatin, the ‘Latin’ script (Script=Latin).

  • IsAlphabetic, the ‘Alphabetic’ binary property (Alphabetic=Yes).

A short form starting with In indicates a block property:

  • InBasicLatin, the ‘BasicLatin’ block (Block=BasicLatin).

POSIX character classes

[[:alpha:]]; [[:^alpha:]]

POSIX character classes are supported. These are normally treated as an alternative form of \p{...}.

The exceptions are alnum, digit, punct and xdigit, whose definitions are different from those of Unicode.

[[:alnum:]] is equivalent to \p{posix_alnum}.

[[:digit:]] is equivalent to \p{posix_digit}.

[[:punct:]] is equivalent to \p{posix_punct}.

[[:xdigit:]] is equivalent to \p{posix_xdigit}.

Search anchor \G

A search anchor has been added. It matches at the position where each search started/continued and can be used for contiguous matches or in negative variable-length lookbehinds to limit how far back the lookbehind goes:

>>> regex.findall(r"\w{2}", "abcd ef")
['ab', 'cd', 'ef']
>>> regex.findall(r"\G\w{2}", "abcd ef")
['ab', 'cd']
  • The search starts at position 0 and matches ‘ab’.

  • The search continues at position 2 and matches ‘cd’.

  • The search continues at position 4 and fails to match any letters.

  • The anchor stops the search start position from being advanced, so there are no more results.

Reverse searching

Searches can also work backwards:

>>> regex.findall(r".", "abc")
['a', 'b', 'c']
>>> regex.findall(r"(?r).", "abc")
['c', 'b', 'a']

Note that the result of a reverse search is not necessarily the reverse of a forward search:

>>> regex.findall(r"..", "abcde")
['ab', 'cd']
>>> regex.findall(r"(?r)..", "abcde")
['de', 'bc']

Matching a single grapheme \X

The grapheme matcher is supported. It conforms to the Unicode specification at http://www.unicode.org/reports/tr29/.

Branch reset (?|...|...)

Group numbers will be reused across the alternatives, but groups with different names will have different group numbers.

>>> regex.match(r"(?|(first)|(second))", "first").groups()
('first',)
>>> regex.match(r"(?|(first)|(second))", "second").groups()
('second',)

Note that there is only one group.

Default Unicode word boundary

The WORD flag changes the definition of a ‘word boundary’ to that of a default Unicode word boundary. This applies to \b and \B.

Timeout

The matching methods and functions support timeouts. The timeout (in seconds) applies to the entire operation:

>>> from time import sleep
>>>
>>> def fast_replace(m):
...     return 'X'
...
>>> def slow_replace(m):
...     sleep(0.5)
...     return 'X'
...
>>> regex.sub(r'[a-z]', fast_replace, 'abcde', timeout=2)
'XXXXX'
>>> regex.sub(r'[a-z]', slow_replace, 'abcde', timeout=2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python310\lib\site-packages\regex\regex.py", line 278, in sub
    return pat.sub(repl, string, count, pos, endpos, concurrent, timeout)
TimeoutError: regex timed out

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

regex-2026.7.19.tar.gz (416.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

regex-2026.7.19-cp314-cp314t-win_arm64.whl (283.5 kB view details)

Uploaded CPython 3.14tWindows ARM64

regex-2026.7.19-cp314-cp314t-win_amd64.whl (283.8 kB view details)

Uploaded CPython 3.14tWindows x86-64

regex-2026.7.19-cp314-cp314t-win32.whl (274.5 kB view details)

Uploaded CPython 3.14tWindows x86

regex-2026.7.19-cp314-cp314t-musllinux_1_2_x86_64.whl (804.5 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

regex-2026.7.19-cp314-cp314t-musllinux_1_2_s390x.whl (857.8 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ s390x

regex-2026.7.19-cp314-cp314t-musllinux_1_2_riscv64.whl (773.7 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ riscv64

regex-2026.7.19-cp314-cp314t-musllinux_1_2_ppc64le.whl (865.1 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ppc64le

regex-2026.7.19-cp314-cp314t-musllinux_1_2_aarch64.whl (800.7 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

regex-2026.7.19-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (785.5 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.31+ riscv64manylinux: glibc 2.39+ riscv64

regex-2026.7.19-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (816.1 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

regex-2026.7.19-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (917.5 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ s390xmanylinux: glibc 2.28+ s390x

regex-2026.7.19-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (871.3 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ppc64lemanylinux: glibc 2.28+ ppc64le

regex-2026.7.19-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (811.8 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

regex-2026.7.19-cp314-cp314t-macosx_11_0_arm64.whl (294.5 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

regex-2026.7.19-cp314-cp314t-macosx_10_13_x86_64.whl (299.4 kB view details)

Uploaded CPython 3.14tmacOS 10.13+ x86-64

regex-2026.7.19-cp314-cp314t-macosx_10_13_universal2.whl (501.1 kB view details)

Uploaded CPython 3.14tmacOS 10.13+ universal2 (ARM64, x86-64)

regex-2026.7.19-cp314-cp314-win_arm64.whl (281.1 kB view details)

Uploaded CPython 3.14Windows ARM64

regex-2026.7.19-cp314-cp314-win_amd64.whl (280.8 kB view details)

Uploaded CPython 3.14Windows x86-64

regex-2026.7.19-cp314-cp314-win32.whl (272.5 kB view details)

Uploaded CPython 3.14Windows x86

regex-2026.7.19-cp314-cp314-musllinux_1_2_x86_64.whl (789.6 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

regex-2026.7.19-cp314-cp314-musllinux_1_2_s390x.whl (851.3 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ s390x

regex-2026.7.19-cp314-cp314-musllinux_1_2_riscv64.whl (766.2 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ riscv64

regex-2026.7.19-cp314-cp314-musllinux_1_2_ppc64le.whl (861.3 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ppc64le

regex-2026.7.19-cp314-cp314-musllinux_1_2_aarch64.whl (785.0 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

regex-2026.7.19-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (777.1 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.31+ riscv64manylinux: glibc 2.39+ riscv64

regex-2026.7.19-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (801.3 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

regex-2026.7.19-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (911.4 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ s390xmanylinux: glibc 2.28+ s390x

regex-2026.7.19-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (866.4 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ppc64lemanylinux: glibc 2.28+ ppc64le

regex-2026.7.19-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (797.2 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

regex-2026.7.19-cp314-cp314-macosx_11_0_arm64.whl (292.0 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

regex-2026.7.19-cp314-cp314-macosx_10_13_x86_64.whl (297.1 kB view details)

Uploaded CPython 3.14macOS 10.13+ x86-64

regex-2026.7.19-cp314-cp314-macosx_10_13_universal2.whl (496.8 kB view details)

Uploaded CPython 3.14macOS 10.13+ universal2 (ARM64, x86-64)

regex-2026.7.19-cp313-cp313t-win_arm64.whl (279.4 kB view details)

Uploaded CPython 3.13tWindows ARM64

regex-2026.7.19-cp313-cp313t-win_amd64.whl (280.0 kB view details)

Uploaded CPython 3.13tWindows x86-64

regex-2026.7.19-cp313-cp313t-win32.whl (269.1 kB view details)

Uploaded CPython 3.13tWindows x86

regex-2026.7.19-cp313-cp313t-musllinux_1_2_x86_64.whl (804.5 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

regex-2026.7.19-cp313-cp313t-musllinux_1_2_s390x.whl (857.7 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ s390x

regex-2026.7.19-cp313-cp313t-musllinux_1_2_riscv64.whl (773.6 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ riscv64

regex-2026.7.19-cp313-cp313t-musllinux_1_2_ppc64le.whl (864.9 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ppc64le

regex-2026.7.19-cp313-cp313t-musllinux_1_2_aarch64.whl (800.4 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

regex-2026.7.19-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (785.2 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.31+ riscv64manylinux: glibc 2.39+ riscv64

regex-2026.7.19-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (816.1 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

regex-2026.7.19-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (917.4 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ s390xmanylinux: glibc 2.28+ s390x

regex-2026.7.19-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (871.1 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ppc64lemanylinux: glibc 2.28+ ppc64le

regex-2026.7.19-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (811.6 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

regex-2026.7.19-cp313-cp313t-macosx_11_0_arm64.whl (294.5 kB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

regex-2026.7.19-cp313-cp313t-macosx_10_13_x86_64.whl (299.4 kB view details)

Uploaded CPython 3.13tmacOS 10.13+ x86-64

regex-2026.7.19-cp313-cp313t-macosx_10_13_universal2.whl (501.1 kB view details)

Uploaded CPython 3.13tmacOS 10.13+ universal2 (ARM64, x86-64)

regex-2026.7.19-cp313-cp313-win_arm64.whl (277.1 kB view details)

Uploaded CPython 3.13Windows ARM64

regex-2026.7.19-cp313-cp313-win_amd64.whl (277.7 kB view details)

Uploaded CPython 3.13Windows x86-64

regex-2026.7.19-cp313-cp313-win32.whl (267.1 kB view details)

Uploaded CPython 3.13Windows x86

regex-2026.7.19-cp313-cp313-musllinux_1_2_x86_64.whl (789.8 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

regex-2026.7.19-cp313-cp313-musllinux_1_2_s390x.whl (851.8 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ s390x

regex-2026.7.19-cp313-cp313-musllinux_1_2_riscv64.whl (766.0 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ riscv64

regex-2026.7.19-cp313-cp313-musllinux_1_2_ppc64le.whl (860.6 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ppc64le

regex-2026.7.19-cp313-cp313-musllinux_1_2_aarch64.whl (784.4 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

regex-2026.7.19-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (776.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.31+ riscv64manylinux: glibc 2.39+ riscv64

regex-2026.7.19-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (801.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

regex-2026.7.19-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (912.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ s390xmanylinux: glibc 2.28+ s390x

regex-2026.7.19-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (865.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ppc64lemanylinux: glibc 2.28+ ppc64le

regex-2026.7.19-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (796.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

regex-2026.7.19-cp313-cp313-macosx_11_0_arm64.whl (291.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

regex-2026.7.19-cp313-cp313-macosx_10_13_x86_64.whl (297.0 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

regex-2026.7.19-cp313-cp313-macosx_10_13_universal2.whl (496.6 kB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

regex-2026.7.19-cp312-cp312-win_arm64.whl (277.1 kB view details)

Uploaded CPython 3.12Windows ARM64

regex-2026.7.19-cp312-cp312-win_amd64.whl (277.8 kB view details)

Uploaded CPython 3.12Windows x86-64

regex-2026.7.19-cp312-cp312-win32.whl (267.2 kB view details)

Uploaded CPython 3.12Windows x86

regex-2026.7.19-cp312-cp312-musllinux_1_2_x86_64.whl (789.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

regex-2026.7.19-cp312-cp312-musllinux_1_2_s390x.whl (851.8 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ s390x

regex-2026.7.19-cp312-cp312-musllinux_1_2_riscv64.whl (766.0 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ riscv64

regex-2026.7.19-cp312-cp312-musllinux_1_2_ppc64le.whl (860.5 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ppc64le

regex-2026.7.19-cp312-cp312-musllinux_1_2_aarch64.whl (784.3 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

regex-2026.7.19-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (776.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.31+ riscv64manylinux: glibc 2.39+ riscv64

regex-2026.7.19-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (801.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

regex-2026.7.19-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (911.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ s390xmanylinux: glibc 2.28+ s390x

regex-2026.7.19-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (865.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ppc64lemanylinux: glibc 2.28+ ppc64le

regex-2026.7.19-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (796.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

regex-2026.7.19-cp312-cp312-macosx_11_0_arm64.whl (292.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

regex-2026.7.19-cp312-cp312-macosx_10_13_x86_64.whl (297.1 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

regex-2026.7.19-cp312-cp312-macosx_10_13_universal2.whl (496.8 kB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

regex-2026.7.19-cp311-cp311-win_arm64.whl (277.0 kB view details)

Uploaded CPython 3.11Windows ARM64

regex-2026.7.19-cp311-cp311-win_amd64.whl (278.0 kB view details)

Uploaded CPython 3.11Windows x86-64

regex-2026.7.19-cp311-cp311-win32.whl (266.8 kB view details)

Uploaded CPython 3.11Windows x86

regex-2026.7.19-cp311-cp311-musllinux_1_2_x86_64.whl (789.7 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

regex-2026.7.19-cp311-cp311-musllinux_1_2_s390x.whl (844.4 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ s390x

regex-2026.7.19-cp311-cp311-musllinux_1_2_riscv64.whl (763.3 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ riscv64

regex-2026.7.19-cp311-cp311-musllinux_1_2_ppc64le.whl (854.7 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ppc64le

regex-2026.7.19-cp311-cp311-musllinux_1_2_aarch64.whl (783.3 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

regex-2026.7.19-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (774.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.31+ riscv64manylinux: glibc 2.39+ riscv64

regex-2026.7.19-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (801.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

regex-2026.7.19-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (905.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ s390xmanylinux: glibc 2.28+ s390x

regex-2026.7.19-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (861.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ppc64lemanylinux: glibc 2.28+ ppc64le

regex-2026.7.19-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (791.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

regex-2026.7.19-cp311-cp311-macosx_11_0_arm64.whl (290.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

regex-2026.7.19-cp311-cp311-macosx_10_9_x86_64.whl (295.3 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

regex-2026.7.19-cp311-cp311-macosx_10_9_universal2.whl (494.0 kB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

regex-2026.7.19-cp310-cp310-win_arm64.whl (277.0 kB view details)

Uploaded CPython 3.10Windows ARM64

regex-2026.7.19-cp310-cp310-win_amd64.whl (278.0 kB view details)

Uploaded CPython 3.10Windows x86-64

regex-2026.7.19-cp310-cp310-win32.whl (266.8 kB view details)

Uploaded CPython 3.10Windows x86

regex-2026.7.19-cp310-cp310-musllinux_1_2_x86_64.whl (782.6 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

regex-2026.7.19-cp310-cp310-musllinux_1_2_s390x.whl (837.0 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ s390x

regex-2026.7.19-cp310-cp310-musllinux_1_2_riscv64.whl (758.5 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ riscv64

regex-2026.7.19-cp310-cp310-musllinux_1_2_ppc64le.whl (848.7 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ppc64le

regex-2026.7.19-cp310-cp310-musllinux_1_2_aarch64.whl (774.1 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

regex-2026.7.19-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (769.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.31+ riscv64manylinux: glibc 2.39+ riscv64

regex-2026.7.19-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (785.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

regex-2026.7.19-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (793.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

regex-2026.7.19-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (899.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ s390xmanylinux: glibc 2.28+ s390x

regex-2026.7.19-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (854.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ppc64lemanylinux: glibc 2.28+ ppc64le

regex-2026.7.19-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (785.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

regex-2026.7.19-cp310-cp310-macosx_11_0_arm64.whl (290.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

regex-2026.7.19-cp310-cp310-macosx_10_9_x86_64.whl (295.3 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

regex-2026.7.19-cp310-cp310-macosx_10_9_universal2.whl (494.0 kB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file regex-2026.7.19.tar.gz.

File metadata

  • Download URL: regex-2026.7.19.tar.gz
  • Upload date:
  • Size: 416.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for regex-2026.7.19.tar.gz
Algorithm Hash digest
SHA256 7e77b324909c1617cbb4c668677e2c6ae13f44d7c1de0d4f15f2e3c10f3315b5
MD5 94d5d14d49e0292dc8da7ad53d787be3
BLAKE2b-256 209804b13f1ddfb63158025291c02e03eb42fbb7acb51d091d541050eb4e35e8

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314t-win_arm64.whl.

File metadata

  • Download URL: regex-2026.7.19-cp314-cp314t-win_arm64.whl
  • Upload date:
  • Size: 283.5 kB
  • Tags: CPython 3.14t, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for regex-2026.7.19-cp314-cp314t-win_arm64.whl
Algorithm Hash digest
SHA256 9a15e785f244f3e07847b984ce8773fc3da10a9f3c131cc49a4c5b4d672b4547
MD5 49af2f2dfee8459ba97993928ecb46dd
BLAKE2b-256 6fb626e41975febae63b7a6e3e02f32cff6cff2e4f10d19c929082f56aebf7c6

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: regex-2026.7.19-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 283.8 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for regex-2026.7.19-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 c639ea314df70a7b2811e8020448c75af8c9445f5a60f8a4ced81c306a9380c2
MD5 c2a35d19cbaa13730216c47bf9a1f53f
BLAKE2b-256 520ecea4ce73bc0a8247a0748228ae6669984c7e1f8134b6fa66e59c0572e0ea

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314t-win32.whl.

File metadata

  • Download URL: regex-2026.7.19-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 274.5 kB
  • Tags: CPython 3.14t, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for regex-2026.7.19-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 2c4e61e2e1be56f63ec3cc618aa9e0de81ef6f43d177205451840022e24f5b78
MD5 20596409daf7edd4109272d94f063a0a
BLAKE2b-256 2bd701d31d5bdb09bc026fab77f59a371fdf8f9b292e4810546c56182ca70498

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5cc26a66e212fa5d6c6170c3a40d99d888db3020c6fdab1523250d4341382e44
MD5 a6d9acdd3b2d2a88afbb84cb9225edc4
BLAKE2b-256 e44ff7e2dad6756b2fe1fe75dd90a628c3b45f249d39f948dd90cd2476325417

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314t-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp314-cp314t-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 cd3584591ea4429026cdb931b054342c2bcf189b44ff367f8d5c15bc092a2966
MD5 81ac88c4fbb3d4d290280fca92c5ac3c
BLAKE2b-256 2358bd1a0c1a62251366f8d21f41b1ea3c76994962071b8b6ea42f72d505c0f0

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314t-musllinux_1_2_riscv64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp314-cp314t-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 61bb1bd45520aacd56dd80943bd34991fb5350afdd1f36f2282230fd5154a218
MD5 0aa262401f9c1977c1eab646a71d35e6
BLAKE2b-256 1485181a12211f22469f24d2de1ebddfe397d2396e2c29013b9a58134a91069a

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314t-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp314-cp314t-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 1d58561843f0ff7dc78b4c28b5e2dc388f3eff94ebc8a232a3adba961fc00009
MD5 9085a205aa8532095048b6083d47845e
BLAKE2b-256 a824c14f31c135e1ba55fa4f9a58ca98d0842512bf6188230763c31c8f449e3b

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 20568e182eb82d39a6bf7cff3fd58566f14c75c6f74b2c8c96537eecf9010e3a
MD5 86a2276aab583d215ec13c3683cd31fb
BLAKE2b-256 9e360987cf4cb271680064a70d24a475873775a151d0b7058698a006cb0cae4a

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 572fc57b0009c735ee56c175ea021b637a15551a312f56734277f923d6fd0f6c
MD5 061e4d23d688ace7d5cf1fe2a6b9f4d6
BLAKE2b-256 de2d33a602f657bdc4041f17d79f92ab18261d255d91a06117a6e29df023e5e2

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9724e6cb5e478cd7d8cabf027826178739cb18cf0e117d0e32814d479fa02276
MD5 a60de2510ef43147d3b3f2416b7bb474
BLAKE2b-256 52928b2bd872782ce8c42691e39acb38eb8efe014e5ddb78ad7d943d6f197ce9

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 8cae6fd77a5b72dae505084b1a2ee0360139faf72fedbab667cd7cc65aae7a6a
MD5 d8a6fbda67e5dee850c7c6c203f75a40
BLAKE2b-256 16706980c9be6bf21c0a60ed3e0aea39cf419ecf3b08d1d9947bc56e196ef186

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 d24ecb4f5e009ea0bd275ee37ad9953b32005e2e5e60f8bbae16da0dbbf0d3a0
MD5 60b6f339140515db8b8116e2af689c6b
BLAKE2b-256 947c4902744261f775aeede8b5627314b38482da29cf49a57b66a6fb753246c5

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 dbece16025afda5e3031af0c4059207e61dcf73ef13af844964f57f387d1c435
MD5 261cfbceb78c6887942e69569c60c230
BLAKE2b-256 925f40bacf91d0904f812e13bbbab3864604c463eced8afdc54aeaa50492ea95

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9b60d7814174f059e5de4ab98271cc5ba9259cfea55273a81544dceea32dc8d9
MD5 8193ee921d9bebe6dc1bb24523f0f91f
BLAKE2b-256 cdd60dd1a321afaab95eb7ff44aa0f637301786f1dc71c6b797b9ed236ed8890

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314t-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp314-cp314t-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 199535629f25caf89698039af3d1ad5fcae7f933e2112c73f1cdf49165c99518
MD5 d7ecafc0eff455a5f3e45e2cc10f64ed
BLAKE2b-256 f35ebbaeca815dc9191c424c94a4fdc5c87c75748a64a6271821212ebdd4e1a3

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314t-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp314-cp314t-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 5a2721c8720e2cb3c209925dfb9200199b4b07361c9e01d321719404b21458b3
MD5 f91b8da1c39aa514e28fa2079c0a97fc
BLAKE2b-256 92b79a01aa16461a18cde9d7b9c3ab21e501db2ce33725f53014342b91df2b0a

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314-win_arm64.whl.

File metadata

  • Download URL: regex-2026.7.19-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 281.1 kB
  • Tags: CPython 3.14, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for regex-2026.7.19-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 65fa6cb38ed5e9c3637e68e544f598b39c3b86b808ed0627a67b68320384b459
MD5 24699b1c25febece3bf442fa98f5361b
BLAKE2b-256 08822693e53e29f9104d9de95d37ce4dd826bd32d5f9c0085d3aa6ac042675c4

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: regex-2026.7.19-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 280.8 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for regex-2026.7.19-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 d721e53758b2cca74990185eb0671dd466d7a388a1a45d0c6f4c13cef41a68ac
MD5 1deaa401a65e5bf8a1df2b74828af0ff
BLAKE2b-256 96e18862885e70409de70e8c005f57fb2e7be8d9ef0317250d60f4c9660a300d

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314-win32.whl.

File metadata

  • Download URL: regex-2026.7.19-cp314-cp314-win32.whl
  • Upload date:
  • Size: 272.5 kB
  • Tags: CPython 3.14, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for regex-2026.7.19-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 73f272fba87b8ccfe70a137d02a54af386f6d27aa509fbffdd978f5947aae1aa
MD5 7c57a9e630407bed6d225c0daa105bd2
BLAKE2b-256 d6903a8d5ca977171ec3ae21a71207d2228b2663bde14d7f7ef0e6363ecf9290

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2ce9e679f776649746729b6c86382da519ef649c8e34cc41df0d2e5e0f6c36d4
MD5 ada1a2451591a737aa35a030dbc632f9
BLAKE2b-256 7c34532efb87488d90807bae6a443d357ee5e2728a478c597619c8aaa17cc0bd

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp314-cp314-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 618a0aed532be87294c4477b0481f3aa0f1520f4014a4374dd4cf789b4cd2c97
MD5 7e0c4acc1d8ea0f809fa31092cef00ab
BLAKE2b-256 bf5d11e64d151b0662b81d6bf644c74dc118d461df85bdf2577fadbbf751788a

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314-musllinux_1_2_riscv64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp314-cp314-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 22a992de9a0d91bda927bf02b94351d737a0302905432c88a53de7c4b9ce62e2
MD5 fbba3024daac98a36426c0830689a486
BLAKE2b-256 d8fad60bf82e10841eef62a9e32aac401468f05fddfbcb2942e342b1ba3d2433

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp314-cp314-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 17ed5692f6acc4183e98331101a5f9e4f64d72fe58b753da4d444a2c77d05b12
MD5 0d8b308de6045318b866fe5dc004f484
BLAKE2b-256 84035fe091935b74f15fe0f97998c215cae418d1c0413f6258c7d4d2e83aa37f

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c10b82c2634df08dfb13b1f04e38fe310d086ee092f4f69c0c8da234251e556e
MD5 49c776ee90058c3e3efda3bd84c545f3
BLAKE2b-256 612b58b5c710f2c3929515a25f3a1ca0dad0dcd4518d4fff3cf23bc7adb8dcd2

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 9c7472192ebfad53a6be7c4a8bfb2d64b81c0e93a1fc8c57e1dd0b638297b5d1
MD5 b932c8eee57913c607592cab00dda24f
BLAKE2b-256 15bece9d9534b2cda96eab32c548261224b9b4e220a4126f098f60f42ae7b4cd

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7322ec6cc9fba9d49ab888bb82d67ac5625627aa168f0165139b17018df3fb8a
MD5 6a5b6f217faac963d011bcc3c2900e36
BLAKE2b-256 1471986ceea9aa3da548bf1357cad89b63915ec6d21ec957c8113b29ece567df

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 56ad4d9f77df871a99e25c37091052a02528ec0eb059de928ee33956b854b45b
MD5 10d2f95ce09b68bd23ccee82ca11de7c
BLAKE2b-256 b1622b2efc4992f91d6d204b24c647c9f9412e85379d92b7c0ab9fdae622327e

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 d15df07081d91b76ff20d43f94592ee110330152d617b730fdbe5ef9fb680053
MD5 f05a726b7bc8260644d9d97c32a51663
BLAKE2b-256 aaae11b9c9411d92c30e3d2db32df5a31133e4a99a8fc397a604fd08f6c4bffb

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d19662dbedbe783d323196312d38f5ba53cf56296378252171985da6899887d3
MD5 fdc783ecf8e9ed18cb9642569028c0ef
BLAKE2b-256 e3a71d478e614016045a33feae57446215f9fd65b665a5ceb2f891fb3183bc52

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 60be8693a1dadc210bbcbc0db3e26da5f7d01d1d5a3da594e99b4fa42df404f5
MD5 a9bb0fa809d5a05898878023d40f41ca
BLAKE2b-256 87740b692da2520d51fbff19c88b83d97e4c702909dd02386c585998b7e2dbed

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp314-cp314-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 4aa5435cdb3eb6f55fe98a171b05e3fbcd95fadaa4aa32acf62afd9b0cfdbcac
MD5 f8bbd2736a29dba8fb07967c91343460
BLAKE2b-256 249eb70ca6c1704f6c7cd32a9e143c86cc5968d10981eca284bad670c245ea7d

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp314-cp314-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp314-cp314-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 a81758ed242b861b72e778ba34d41366441a2e10b16b472784c88da2dea7e2dd
MD5 8b2c90bcad059e07c0373eb6431783c5
BLAKE2b-256 d2250c4c452f8ef3efe456745b2f33195f5904b573fb4c2ff3f0cb9ec188461e

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313t-win_arm64.whl.

File metadata

  • Download URL: regex-2026.7.19-cp313-cp313t-win_arm64.whl
  • Upload date:
  • Size: 279.4 kB
  • Tags: CPython 3.13t, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for regex-2026.7.19-cp313-cp313t-win_arm64.whl
Algorithm Hash digest
SHA256 fcee38cd8e5089d6d4f048ba1233b3ad76e5954f545382180889112ff5cb712d
MD5 3b5ecae1f116f384a8de8d0e3157c909
BLAKE2b-256 ce67795644550d788ddbb6dc458c95895f8009978ea6d6ea76b005eb3f45e8c9

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313t-win_amd64.whl.

File metadata

  • Download URL: regex-2026.7.19-cp313-cp313t-win_amd64.whl
  • Upload date:
  • Size: 280.0 kB
  • Tags: CPython 3.13t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for regex-2026.7.19-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 f04b9f56b0e0614c0126be12c2c2d9f8850c1e57af302bd0a63bed379d4af974
MD5 de54f1eede582c5c6d0ca51c5695b5b8
BLAKE2b-256 bb14961b4c7b05a2391c32dbc85e27773076671ef8f97f36cec70fe414734c02

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313t-win32.whl.

File metadata

  • Download URL: regex-2026.7.19-cp313-cp313t-win32.whl
  • Upload date:
  • Size: 269.1 kB
  • Tags: CPython 3.13t, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for regex-2026.7.19-cp313-cp313t-win32.whl
Algorithm Hash digest
SHA256 64b6ca7391a1395c2638dd5c7456d67bea44fc6c5e8e92c5dc8aa6a8f23292b4
MD5 e2758359be33cbb8a9e60058f73a9a18
BLAKE2b-256 767ccc4e7655181b2d9235b704f2c5e19d8eff002bbc437bae59baee0e381aca

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2ef7eeb108c47ce7bcc9513e51bcb1bf57e8f483d52fce68a8642e3527141ae0
MD5 5be15aab8e660654ee7f377b796b8dad
BLAKE2b-256 472e1687bd1b6c2aed5e672ccf845fc11557821fe7366d921b50889ea5ce57bf

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313t-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp313-cp313t-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 4a0530bb1b8c1c985e7e2122e2b4d3aedd8a3c21c6bfddae6767c4405668b56e
MD5 f43de3246c0c1c4082a8a8c61cf02176
BLAKE2b-256 a382f3b263cf8fad927dc102891da8502e718b7ff9d19af7a2a07c03865d7188

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313t-musllinux_1_2_riscv64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp313-cp313t-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 1ebac3474b8589fce2f9b225b650afd61448f7c73a5d0255a10cc6366471aed1
MD5 5ba93fcb92543ea4bb21e16373384d37
BLAKE2b-256 2457ccb20b6be5f1f52a053d1ba2a8f7a077edb9d918248b8490d7506c6832b3

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313t-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp313-cp313t-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 09523a592938aa9f587fb74467c63ff0cf88fc3df14c82ab0f0517dcf76aaa62
MD5 dabe155ce60854aabbf4fd26623f6ac5
BLAKE2b-256 739fe4e10e023d291d64a33e246610b724493bf1ce98e0e59c9b7c837e5acfb7

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4e6883a021db30511d9fb8cfb0f222ce1f2c369f7d4d8b0448f449a93ba0bdfc
MD5 61fd8fd275497287bc4d0e88fac62c56
BLAKE2b-256 76a4186e410941e731037c01166069ab86da9f65e8f8110c18009ccf4bd623ee

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 4896db1f4ce0576765b8272aa922df324e0f5b9bb2c3d03044ff32a7234a9aba
MD5 897bfe74a55cfc4e405e4c16fcd5f207
BLAKE2b-256 ae27957e8e22690ad6634572b39b71f130a6105f4d0718bb16849eac00fff147

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8ac59a0900474a52b7c04af8196affc22bd9842acb0950df12f7b813e983609a
MD5 c4fbef71e45467bdca3636eca87eb48c
BLAKE2b-256 f8f6e0870b0fd2a40dba0074e4b76e514b21313d37946c9248453e34ec43923e

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 cc1b2440423a851fad781309dd87843868f4f66a6bcd1ddb9225cf4ec2c84732
MD5 a05014c84c10e463b95fcc7a1746ddfe
BLAKE2b-256 45a344be546340bedb15f13063f5e7fe16793ea4d9ea2e805d09bd174ac27724

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 f8f6fa298bb4f7f58a33334406218ba74716e68feddf5e4e54cd5d8082705abf
MD5 40bc9b6f9b63d69582bd9f847a2079dd
BLAKE2b-256 37d4a2f963406d7d73a62eed84ba05a258afb6cad1b21aa4517443ce40506b78

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fe31f28c94402043161876a258a9c6f757cb485905c7614ce8d6cd40e6b7bdc1
MD5 bee087133cf38a1de55a3d53e15cb629
BLAKE2b-256 d76a2f5e107cb26c960b781967178899daf2787a7ab151844ed3c01d6fc95474

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f2e7f8e2ab6c2922be02c7ec45185aa5bd771e2e57b95455ee343a44d8130dff
MD5 eb367428cef1cb723e58594398e6b31c
BLAKE2b-256 6538c5bde94b4cedfd5850d64c3f08222d8e1600e84f6ee71d9b44b4b8163f74

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313t-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp313-cp313t-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 65dcd28d3eba2ab7c2fd906485cc301392b47cc2234790d27d4e4814e02cdfda
MD5 5c4eba1d97e304fb1871f22032a3ee1c
BLAKE2b-256 f045bbd038b5e39ee5613a5a689290145b40058cc152c41de9cc23639d2b9734

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313t-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp313-cp313t-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 db47b561c9afd884baa1f96f797c9ca369872c4b65912bc691cfa99e68340af2
MD5 cc2808c6f0c55ce49f24b8c0fee7f4a2
BLAKE2b-256 dc4c44b74742052cedda40f9ae469532a037112f7311a36669a891fba8984bb0

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313-win_arm64.whl.

File metadata

  • Download URL: regex-2026.7.19-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 277.1 kB
  • Tags: CPython 3.13, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for regex-2026.7.19-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 c670fe7be5b6020b76bc6e8d2196074657e1327595bca93a389e1a76ab130ad8
MD5 3321482412e31ef3d40bec49cc5f8d9e
BLAKE2b-256 d1290f5c8eff1b4f1f3d83276d365fccecf666afcc7d947420943bf394d07adb

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: regex-2026.7.19-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 277.7 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for regex-2026.7.19-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d51ffd3427640fa2da6ade574ceba932f210ad095f65fcc450a2b0a0d454868e
MD5 6ac27a47a13b22b9148f8623d4bcc04b
BLAKE2b-256 b280a11de8404b7272b70acb45c1c05987cce60b45d5693da2e176f0e390d564

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313-win32.whl.

File metadata

  • Download URL: regex-2026.7.19-cp313-cp313-win32.whl
  • Upload date:
  • Size: 267.1 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for regex-2026.7.19-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 f0fa4fa9c3632d708742baf2282f2055c11d888a790362670a403cbf48a2c404
MD5 54627467a437866e80ec7a023c899804
BLAKE2b-256 4b23c195cbfe5a75fdec64d8f6554fd15237b837919d2c61bdc141d7c807b08b

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ffd8893ccc1c2fce6e0d6ca402d716fe1b29db70c7132609a05955e31b2aa8f2
MD5 a6ba0c6a14ea0a77470681ab45c19061
BLAKE2b-256 033a8ae83eda7579feacdf984e71fb9e70635fb6f832eeddca58427ec4fca926

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp313-cp313-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 15b364b9b98d6d2fe1a85034c23a3180ff913f46caddc3895f6fd65186255ccc
MD5 5e074690b9d053f7eb9c0a6194c44845
BLAKE2b-256 81a9d1e9f819dc394a568ef370cd56cf25394e957a2235f8370f23b576e5a475

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313-musllinux_1_2_riscv64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp313-cp313-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 571fde9741eb0ccde23dd4e0c1d50fbae910e901fa7e629faf39b2dda740d220
MD5 2fb7b2b10bd834efba391e9a1b934a01
BLAKE2b-256 a002073af33a3ec149241d11c80acea91e722aa0adbf05addd50f251c4fe89c3

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp313-cp313-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 c4585c3e64b4f9e583b4d2683f18f5d5d872b3d71dcf24594b74ecc23602fa96
MD5 8dd6783a90ba1920e0cb66bb9bb2af70
BLAKE2b-256 caf51ef9e2a83a5947c57ebff0b377cb5727c3d5ec1992317a320d035cd0dbb6

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4c3501bfa814ab07b5580741f9bf78dfdfe146a04057f82df9e2402d2a975939
MD5 dc4a8f73fe2813f45730d6c82c47173d
BLAKE2b-256 0913610110fc5921d380516d03c26b652555f08aa0d23ea78a771231873c3638

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 d446c6ac40bb6e05025ccee55b84d80fe9bf8e93010ffc4bb9484f13d498835f
MD5 c4caed1b39ac228cc0249f5a5ee8cac4
BLAKE2b-256 c3bb8b4f7f26b333f9f79e1b453613c39bb4776f51d38ae66dd0ba31d6b354ca

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c0d702548d89d572b2929879bc883bb7a4c4709efafe4512cadee56c55c9bd15
MD5 d98088fe4913843a80e2386f704a7025
BLAKE2b-256 2abeff61f28f9273658cfe23acbbac5217221f6519960ed401e61dfdab12bc35

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 fce7760bf283405b2c7999cab3da4e72f7deca6396013115e3f7a955db9760da
MD5 bf8006d836f1d4d1657622f0ade417b9
BLAKE2b-256 14b0b47d6c36049bc59806a50bd4c86ced70bbe058d787f80281b1d7a9b0e024

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 1d3372064506b94dd2c67c845f2db8062e9e9ba84d04e33cb96d7d33c11fe1ae
MD5 e3f803bba9aae6eac4f1f284d8ee174e
BLAKE2b-256 df5df6a4839f2b934e3eed5973fd07f5929ee97d4c98939fb275ea23c274ee16

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0c41c63992bf1874cebb6e7f56fd7d3c007924659a604ae3d90e427d40d4fd13
MD5 b239003600ed2eeefaff5530756f1a01
BLAKE2b-256 07cd42dfbabff3dfc9603c501c0e2e2c5adbb09d127b267bf5348de0af338c15

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 40b34dd88658e4fedd2fddbf0275ac970d00614b731357f425722a3ed1983d11
MD5 0d49d862afa37663e5b3baed84f7ec92
BLAKE2b-256 95472d0564e93d87bc48618360ddca232a2ca612bbdf53ce8465d45ca5ce14ee

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 c42572142ed0b9d5d261ba727157c426510da78e20828b66bbb855098b8a4e38
MD5 ab185903684c2c9bc893a3399ae23ad5
BLAKE2b-256 02a2a65293e6e4cf28eb7ee1be5335a5386c40d6742e9f47fafc8fec785e16c7

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 f035d9dc1d25eff9d361456572231c7d27b5ccd473ca7dc0adfce732bd006d40
MD5 be9c4040316ee2a339189292920c3cde
BLAKE2b-256 5d3d84165e4299ff76f3a40fe1f2abf939e976f693383a08d2beea6af62bd2c1

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp312-cp312-win_arm64.whl.

File metadata

  • Download URL: regex-2026.7.19-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 277.1 kB
  • Tags: CPython 3.12, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for regex-2026.7.19-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 de9208bb427130c82a5dbfd104f92c8876fc9559278c880b3002755bbbe9c83d
MD5 0d450381b73530189f10337138b9410c
BLAKE2b-256 3e4ce4d7e086449bdf379d89774bf1f89dc4a41943f3c5a6125a03905b34b5fb

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: regex-2026.7.19-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 277.8 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for regex-2026.7.19-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e30d40268a28d54ce0437031750497004c22602b8e3ab891f759b795a003b312
MD5 3dbb478e5f66d0ac07adefc02cea868f
BLAKE2b-256 088ec780c131f79b42ed22d1bd7da4096c2c35f813e835acd02ef0f018bd892c

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp312-cp312-win32.whl.

File metadata

  • Download URL: regex-2026.7.19-cp312-cp312-win32.whl
  • Upload date:
  • Size: 267.2 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for regex-2026.7.19-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 ddd67571c10869f65a5d7dde536d1e066e306cc90de57d7de4d5f34802428bb5
MD5 7c2dfe4fc56d5736071f4f4ccbaa2967
BLAKE2b-256 5d47e02db4015d424fc83c00ea0ac8c5e5ec14397943de9abf909d5ce3a25931

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dbe6493fbd27321b1d1f2dd4f5c7e5bd4d8b1d7cab7f32fd67db3d0b2ed8248a
MD5 8bac2833ffb6f9dc4f359b5312c0ddb4
BLAKE2b-256 2a20a2ca43edade0595cccfdc98636739f536d9e26898e7dbddc2b9e98898953

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp312-cp312-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp312-cp312-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 73b133a9e6fb512858e7f065e96f1180aa46646bc74a83aea62f1d314f3dd035
MD5 08ca864616c5d4c45b90093187f14f6e
BLAKE2b-256 aa0fbd34021162c0ab47f9a315bd56cd5642e920c8e5668a75ef6c6a6fca590d

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp312-cp312-musllinux_1_2_riscv64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp312-cp312-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 4e5413bd5f13d3a4e3539ca98f70f75e7fca92518dd7f117f030ebedd10b60cb
MD5 2874b5ad35b9568f4ba509aa116ff168
BLAKE2b-256 155cff60ef0571121714f3cf9920bc183071e384a10b556d042e0fdb06cc07a5

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp312-cp312-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp312-cp312-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 e8b0abe7d870f53ca5143895fef7d1041a0c831a140d3dc2c760dd7ba25d4a8b
MD5 73ba98b04931387721f73ba22c401379
BLAKE2b-256 f6f7b38ab3d43f284afbb618fcd15d0e77eb786ae461ce1f6bc7494619ddc0f2

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1d793a7988e04fcb1e2e135567443d82173225d657419ec09414a9b5a145b986
MD5 7f3730679ee0d76a87f46298c14f6647
BLAKE2b-256 6f6903c9b3f058d66403e0ca2c938696e81d51cd4c6d47ec5265f02f96948d9a

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 3080a7fd38ef049bd489e01c970c97dd84ff446a885b0f1f6b26d9b1ad13ce11
MD5 287ccfc3294d56a5b9735fc1273239d0
BLAKE2b-256 f041e7ecac6edb5722417f85cc67eaf386322fbe8acf6918ec2fdc37c20dd9d0

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9dce8ec9695f531a1b8a6f314fd4b393adcccf2ea861db480cdf97a301d01a68
MD5 5bd5bc2fd978b2579c2af644ae5c45b1
BLAKE2b-256 2a8e096d00c7c480ef2ff4265349b14e2261d4ab787ba1f74e2e80d1c58079c3

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 1649eb39fcc9ea80c4d2f110fde2b8ab2aef3877b98f02ab9b14e961f418c511
MD5 3d1bc19308636465ef1755a3a7c5015c
BLAKE2b-256 e07567402ae3cd9c8c988a4c805d15ee3eef015e7ca4cb112cf3e640fc1f4153

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 66bd62c59a5427746e8c44becae1d9b99d22fb13f30f492083dfb9ad7c45cc18
MD5 ff3b289b922a5110558546bcff195fda
BLAKE2b-256 78b5dc136af5629938a037cd2b304c12240e132ec92f38be8ff9cc89af2a1f2d

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 93db40c8de0815baab96a06e08a984bac71f989d13bab789e382158c5d426797
MD5 443bd91b86776e173d1ccefc7b258542
BLAKE2b-256 2285102a81b218298957d4ea7d2f084fae537a71add9d6ff93c8e67284c5f45e

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d7da47a0f248977f08e2cb659ff3c17ddc13a4d39b3a7baa0a81bf5b415430f6
MD5 205700ec7018af46668ef1d205576a8c
BLAKE2b-256 b3634cab4d7f2d384a144d420b763d97674cb70619c878ea6fcd7640d0e62143

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 0e9554c8785eac5cffe6300f69a91f58ba72bc88a5f8d661235ad7c6aa5b8ccd
MD5 6a6e79d13f014d925867f8477a6b41c6
BLAKE2b-256 3fa9a5ab6f312f24318019170dc485d5421fe4f89e43a98640da50d95a8a7041

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 2cc3460cedf7579948486eab03bc9ad7089df4d7281c0f47f4afe03e8d13f02d
MD5 bf08230cdb84d1d1d10e4af616c9778f
BLAKE2b-256 3bb9d11d7e501ac8fd7d617684423ebb9561e0b998481c1e4cbc0cb212c5d74a

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp311-cp311-win_arm64.whl.

File metadata

  • Download URL: regex-2026.7.19-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 277.0 kB
  • Tags: CPython 3.11, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for regex-2026.7.19-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 36aacfb15faaff3ced55afbf35ec72f50d4aee22082c4f7fe0573a33e2fca92e
MD5 329633accdcaccf97ff18c8d9be28e54
BLAKE2b-256 8dbd56ceaf170e875d5a6761bf2bfd0d040f1cacc896850d5e40cb29b11bbd06

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: regex-2026.7.19-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 278.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for regex-2026.7.19-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8d3469c91dd92ee41b7c95280edbd975ef1ba9195086686623a1c6e8935ce965
MD5 df65aaaae8687c247425aa0da86e679a
BLAKE2b-256 832bcf1bc631db154eb95520d9d5dbc2371ff77a0f014bbf7d748fed8496aa63

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp311-cp311-win32.whl.

File metadata

  • Download URL: regex-2026.7.19-cp311-cp311-win32.whl
  • Upload date:
  • Size: 266.8 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for regex-2026.7.19-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 9be2a6647740dd3cca6acb24e87f03d7632cd280dbce9bbe40c26353a215a45d
MD5 574900ccdd16fcdeea909830334db0b6
BLAKE2b-256 b5f47532a2c59d56f5398902c20de60f0c9a5d1cd364e42a051b48e1b210be7b

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d6ce43a0269d68cee79a7d1ade7def53c20f8f2a047b92d7b5d5bcc73ae88327
MD5 6676577f05552f396b07d177d5069111
BLAKE2b-256 5115c82a471fe3dce56f03745635b43aa456c40dc0db089e07ef148b331507d1

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp311-cp311-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp311-cp311-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 80115dd39481fd3a4b4080220799dbcacb921a844de4b827264ececacbe17c78
MD5 c09fbadc4d2ffe658e63f9985cfa68c2
BLAKE2b-256 4bfb2d07ad555e7af88aa5f867fdafa47a8d945ee237c20af3ebceb46a820835

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp311-cp311-musllinux_1_2_riscv64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp311-cp311-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 b2ea4a3e8357be8849e833beeae757ac3c7a6b3fc055c03c808a53c91ad30d82
MD5 8017ce6c553cb2dcb4e42aec9a25387a
BLAKE2b-256 62c3668082bcc817b9e694189b84997aeba7385b7779faa6711788679c482e35

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp311-cp311-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp311-cp311-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 6f8c6e7a1cfa3dc9d0ee2de0e65e834537fa29992cc3976ffec914afc35c5dd5
MD5 bfa72302562844941c1a77a2e5bb40b5
BLAKE2b-256 b1aac4f65ae7dd02a36b323a70c4cff326e1f3442361aaebc9311100a130d54f

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 09d3007fc76249a83cdd33de160d50e6cb77f54e09d8fa9e7148e10607ce24af
MD5 d463ed71cb9659c44abda61f99d8d907
BLAKE2b-256 bbe60a72247d025585fd3800b98e040b84d562a88af6303347100484849f4f01

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 6383cd2ed53a646c659ba1fe65727db76437fdaa069e697a0b44a51d5843d864
MD5 4c47e7e5e5c1534e3b10704e77a08ae8
BLAKE2b-256 8a1834b69274e2649bcc7d9b089c2b2983fb2632d8ecf667e359593be9072e79

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 09f3e5287f94f17b709dc9a9e70865855feee835c861613be144218ce4ca82cc
MD5 5610532679b4e3bb7100fefbf01e92a6
BLAKE2b-256 456ce7098d8b846ccdbf431d8c081b61e496526a27a28094ed09e0dce21b3f54

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 bf1516fe58fc104f39b2d1dbe2d5e27d0cd45c4be2e42ba6ee0cc763701ec3c7
MD5 f5e143aa9044a471ea44d9e083590c1a
BLAKE2b-256 e302735991dee71abd83196a7962f7ed8bf5aa05720ff06e2d3ff896a85e2bbb

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 9e50d748a32da622f256e8d505867f5d3c43a837c6a9f0efb149655fadd1042a
MD5 338596a09fb38037a34980f1d6de60ed
BLAKE2b-256 81b6a40dfa0dc6224b36f620c00296eacc830489cbf8c2837b6750dfe6170375

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 87ccab0db8d5f4fbb0272642113c1adb2ffc698c16d3a0944580222331fa7a20
MD5 30d0ee8c69d36d0b1e8bfaddb63f3c38
BLAKE2b-256 cf69b65ba4344efbc771b28fe5dde84cbbb6c8f9551165952fe78def5b9dde6a

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 90c633e7e8d6bf4e992b8b36ce69e018f834b641dd6de8cea6d78c06ffa119c5
MD5 50af6aa087bad7f274e12f9f4b173959
BLAKE2b-256 412e2360c41d8080a3d9ec7e5c90fad6eab3b50192869d10e9a5609e48c8177b

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 59787bd5f8c70aa339084e961d2996b53fbdeab4d5393bba5c1fe1fc32e02bae
MD5 8eb476e5e3b62cd22e5158b8f2337ef2
BLAKE2b-256 ff87e86f51eb117457bb7803132ffe5cb6e2841e2b5bea4cc85d397f3c6e257d

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 ac777001cdfc28b72477d93c8564bb7583081ea8fb45cdca3d568e0a4f87183c
MD5 0aee3937f8aaa26f714289b4c45763fe
BLAKE2b-256 05e5cef4de2bac939280b68d32adc659478845238a8274f2f79c465063f590ad

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp310-cp310-win_arm64.whl.

File metadata

  • Download URL: regex-2026.7.19-cp310-cp310-win_arm64.whl
  • Upload date:
  • Size: 277.0 kB
  • Tags: CPython 3.10, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for regex-2026.7.19-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 064f1760a5a4ade65c5419be23e782f29147528e8a66e0c42dd4cedb8d4e9fc6
MD5 f1cd8200770dc1651d65a3ef68331e70
BLAKE2b-256 8cbaecfce06fe66c122bc6f77ae284887a9282e4411fe1e6268c5266611ca054

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: regex-2026.7.19-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 278.0 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for regex-2026.7.19-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1c398716054621aa300b3d411f467dda903806c5da0df6945ab73982b8d115db
MD5 b6d088ca6e9a37c53dc415610ec94e80
BLAKE2b-256 9f9029addd7a03e1aea402c1f31467e25c80caabc8c3735b88a23cf73b0aa9c2

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp310-cp310-win32.whl.

File metadata

  • Download URL: regex-2026.7.19-cp310-cp310-win32.whl
  • Upload date:
  • Size: 266.8 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for regex-2026.7.19-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 64729333167c2dcaaa56a331d40ee097bd9c5617ffd51dabb09eaddafb1b532e
MD5 8bfa34ad302ea220f4a0f98cde15c85d
BLAKE2b-256 3af913d460d8a385ca0b0be9e6be80a90968b9293b3e30895543ad2d1d1653e4

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3d3143f159261b1ce5b24c261c590e5913370c3200c5e9ebbb92b5aa5e111902
MD5 9ed349b2f7232581db33d569ad92d817
BLAKE2b-256 22f19112b86e9bb075619862e8e42b604794389f1958faa68fb69bde505dd90e

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp310-cp310-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp310-cp310-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 89dfee3319f5ae3f75ebd5c2445a809bb320252ba5529ffdafea4ef25d79cf1a
MD5 2a026b9269b0c67ffe83f602f0abf039
BLAKE2b-256 bf6f33386c672fbf43e21602135a0f29a97ee251a483f007fe51d10e9b2dbc93

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp310-cp310-musllinux_1_2_riscv64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp310-cp310-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 2955907b7157a6660f27079edf7e0229e9c9c5325c77a2ef6a890cba91efa6f0
MD5 cddfd80f19991fb363327147a8eb1763
BLAKE2b-256 178bbb45968addd5b394ef9cd9184bd9c65ade1a819dbb2b92b71ad52a0c7907

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp310-cp310-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp310-cp310-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 52579c60a6078be70a0e49c81d6e56d677f34cd439af281a0083b8c7bc75c095
MD5 c7caa8c337d32761c9d7dc477db3d1b5
BLAKE2b-256 40951b40d87c7a9e5480bec7a87bce9fd67fc3f14b5f106c8ee66d660249072f

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b2b506b1788df5fecd270a10d5e70a95fe77b87ea2b370a318043f6f5f817ee6
MD5 1cce0e654c4becbb1e949e33a7440da4
BLAKE2b-256 814d45610c263f8eadb84e4a1fabd904d81d5176226faa9104ef498bf8a8b285

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 fbf300e2070bb35038660b3be1be4b91b0024edb41517e6996320b49b92b4175
MD5 21aab1a5c4c0562052120466dd449b19
BLAKE2b-256 8db9efb2f9fa151d71db09d4015e1fb92fee47416f01c12164836bbd23e2f3c2

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 4458124d71339f505bf1fb94f69fd1bb8fa9d2481eebfef27c10ef4f2b9e12f6
MD5 3c229ccd929bc505e9e33801e367f95f
BLAKE2b-256 6f53833c2db3e274d3c191f4c42fe5bfa358e4c8b617d5d7312d31334965fc46

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 98c6ac18480fcdb33f35439183f1d2e79760ab41930309c6d951cb1f8e46694c
MD5 f7817cd174e5da7e2f43f48966c18141
BLAKE2b-256 489a7317f14ed8ed9fd998d1978b4802b07bc4d79216353c435dbcc1ddd1301f

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 6e44c0e7c5664be20aee92085153150c0a7967310a73a43c0f832b7cd35d0dd3
MD5 f0ba6e438433721e12c064e659c3ec96
BLAKE2b-256 099b5a2e59678be3b24aa6a42b2c6d66a48daa212593e9f4096fe7ba577fa9b1

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 1123ef4211d763ee771d47916a1596e2f4915794f7aabdc1adcb20e4249a6951
MD5 751488134f2f4c7ead908898d3d47220
BLAKE2b-256 d54a20e5bca184e90bf1bd187efdb53363f4a7b7b34f01d54ced5740caf104bd

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 062f8cb7a9739c4835d22bd96f370c59aba89f257adcfa53be3cc209e08d3ae0
MD5 4a34a1784b5e5071c99dea26af203fc6
BLAKE2b-256 ae1e1045ca2cabb12e8ec41ad0d138e9f3ff1eb079d30a6f51ccf7d709b44aad

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5ebee1ee89c39c953baac6924fcde08c5bb427c4057510862f9d7c7bdb3d8665
MD5 3c10ef5d0f8d2f2ad7e9f534b7a6fbfc
BLAKE2b-256 1601cefe4f051302ca298d3f3e79ed6dbd933ac84485b9515acdd6a52d70cef7

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 343a4504e3fb688c47cad451221ca5d4814f42b1e16c0065bde9cbf7f473bd52
MD5 6fdfbd7f9ec51838587f982787dda003
BLAKE2b-256 a319783688e75a2bec15d50aec0d5e7e317d363808bc82a6eb6750b897bfcd7b

See more details on using hashes here.

File details

Details for the file regex-2026.7.19-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for regex-2026.7.19-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 555497390743af1a65045fa4527782d10ff5b88970359412baa4a1e628fe393b
MD5 7cf1b18d6bd6ae77d455292340d9f615
BLAKE2b-256 2413bbf7d9d1887fe4a3693527c6caa232c197ea9da91f1212e9672eff60329d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page