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.

>>> # 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.1.15.tar.gz (414.8 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.1.15-cp314-cp314t-win_arm64.whl (274.8 kB view details)

Uploaded CPython 3.14tWindows ARM64

regex-2026.1.15-cp314-cp314t-win_amd64.whl (284.4 kB view details)

Uploaded CPython 3.14tWindows x86-64

regex-2026.1.15-cp314-cp314t-win32.whl (274.7 kB view details)

Uploaded CPython 3.14tWindows x86

regex-2026.1.15-cp314-cp314t-musllinux_1_2_x86_64.whl (799.8 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

regex-2026.1.15-cp314-cp314t-musllinux_1_2_s390x.whl (854.8 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ s390x

regex-2026.1.15-cp314-cp314t-musllinux_1_2_riscv64.whl (770.0 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ riscv64

regex-2026.1.15-cp314-cp314t-musllinux_1_2_ppc64le.whl (868.5 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ppc64le

regex-2026.1.15-cp314-cp314t-musllinux_1_2_aarch64.whl (795.7 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

regex-2026.1.15-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (781.3 kB view details)

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

regex-2026.1.15-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (812.9 kB view details)

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

regex-2026.1.15-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (915.1 kB view details)

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

regex-2026.1.15-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (873.5 kB view details)

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

regex-2026.1.15-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (807.8 kB view details)

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

regex-2026.1.15-cp314-cp314t-macosx_11_0_arm64.whl (291.1 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

regex-2026.1.15-cp314-cp314t-macosx_10_13_x86_64.whl (292.8 kB view details)

Uploaded CPython 3.14tmacOS 10.13+ x86-64

regex-2026.1.15-cp314-cp314t-macosx_10_13_universal2.whl (492.1 kB view details)

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

regex-2026.1.15-cp314-cp314-win_arm64.whl (273.5 kB view details)

Uploaded CPython 3.14Windows ARM64

regex-2026.1.15-cp314-cp314-win_amd64.whl (280.4 kB view details)

Uploaded CPython 3.14Windows x86-64

regex-2026.1.15-cp314-cp314-win32.whl (271.7 kB view details)

Uploaded CPython 3.14Windows x86

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

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

regex-2026.1.15-cp314-cp314-musllinux_1_2_s390x.whl (850.1 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ s390x

regex-2026.1.15-cp314-cp314-musllinux_1_2_riscv64.whl (763.9 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ riscv64

regex-2026.1.15-cp314-cp314-musllinux_1_2_ppc64le.whl (859.4 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ppc64le

regex-2026.1.15-cp314-cp314-musllinux_1_2_aarch64.whl (788.0 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

regex-2026.1.15-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (775.8 kB view details)

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

regex-2026.1.15-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (803.4 kB view details)

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

regex-2026.1.15-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (911.6 kB view details)

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

regex-2026.1.15-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (865.0 kB view details)

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

regex-2026.1.15-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (799.1 kB view details)

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

regex-2026.1.15-cp314-cp314-macosx_11_0_arm64.whl (289.0 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

regex-2026.1.15-cp314-cp314-macosx_10_13_x86_64.whl (291.1 kB view details)

Uploaded CPython 3.14macOS 10.13+ x86-64

regex-2026.1.15-cp314-cp314-macosx_10_13_universal2.whl (489.2 kB view details)

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

regex-2026.1.15-cp313-cp313t-win_arm64.whl (271.6 kB view details)

Uploaded CPython 3.13tWindows ARM64

regex-2026.1.15-cp313-cp313t-win_amd64.whl (280.3 kB view details)

Uploaded CPython 3.13tWindows x86-64

regex-2026.1.15-cp313-cp313t-win32.whl (268.9 kB view details)

Uploaded CPython 3.13tWindows x86

regex-2026.1.15-cp313-cp313t-musllinux_1_2_x86_64.whl (799.6 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

regex-2026.1.15-cp313-cp313t-musllinux_1_2_s390x.whl (854.8 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ s390x

regex-2026.1.15-cp313-cp313t-musllinux_1_2_riscv64.whl (769.9 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ riscv64

regex-2026.1.15-cp313-cp313t-musllinux_1_2_ppc64le.whl (868.4 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ppc64le

regex-2026.1.15-cp313-cp313t-musllinux_1_2_aarch64.whl (795.6 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

regex-2026.1.15-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (781.2 kB view details)

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

regex-2026.1.15-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (812.8 kB view details)

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

regex-2026.1.15-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (915.0 kB view details)

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

regex-2026.1.15-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (873.5 kB view details)

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

regex-2026.1.15-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (807.5 kB view details)

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

regex-2026.1.15-cp313-cp313t-macosx_11_0_arm64.whl (291.1 kB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

regex-2026.1.15-cp313-cp313t-macosx_10_13_x86_64.whl (292.8 kB view details)

Uploaded CPython 3.13tmacOS 10.13+ x86-64

regex-2026.1.15-cp313-cp313t-macosx_10_13_universal2.whl (492.1 kB view details)

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

regex-2026.1.15-cp313-cp313-win_arm64.whl (270.4 kB view details)

Uploaded CPython 3.13Windows ARM64

regex-2026.1.15-cp313-cp313-win_amd64.whl (277.1 kB view details)

Uploaded CPython 3.13Windows x86-64

regex-2026.1.15-cp313-cp313-win32.whl (266.3 kB view details)

Uploaded CPython 3.13Windows x86

regex-2026.1.15-cp313-cp313-musllinux_1_2_x86_64.whl (790.0 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

regex-2026.1.15-cp313-cp313-musllinux_1_2_s390x.whl (850.6 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ s390x

regex-2026.1.15-cp313-cp313-musllinux_1_2_riscv64.whl (763.7 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ riscv64

regex-2026.1.15-cp313-cp313-musllinux_1_2_ppc64le.whl (858.5 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ppc64le

regex-2026.1.15-cp313-cp313-musllinux_1_2_aarch64.whl (788.0 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

regex-2026.1.15-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (775.8 kB view details)

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

regex-2026.1.15-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (803.6 kB view details)

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

regex-2026.1.15-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (912.4 kB view details)

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

regex-2026.1.15-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (864.2 kB view details)

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

regex-2026.1.15-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (798.7 kB view details)

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

regex-2026.1.15-cp313-cp313-macosx_11_0_arm64.whl (288.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

regex-2026.1.15-cp313-cp313-macosx_10_13_x86_64.whl (291.2 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

regex-2026.1.15-cp313-cp313-macosx_10_13_universal2.whl (489.2 kB view details)

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

regex-2026.1.15-cp312-cp312-win_arm64.whl (270.4 kB view details)

Uploaded CPython 3.12Windows ARM64

regex-2026.1.15-cp312-cp312-win_amd64.whl (277.2 kB view details)

Uploaded CPython 3.12Windows x86-64

regex-2026.1.15-cp312-cp312-win32.whl (266.3 kB view details)

Uploaded CPython 3.12Windows x86

regex-2026.1.15-cp312-cp312-musllinux_1_2_x86_64.whl (789.8 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

regex-2026.1.15-cp312-cp312-musllinux_1_2_s390x.whl (850.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ s390x

regex-2026.1.15-cp312-cp312-musllinux_1_2_riscv64.whl (763.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ riscv64

regex-2026.1.15-cp312-cp312-musllinux_1_2_ppc64le.whl (858.6 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ppc64le

regex-2026.1.15-cp312-cp312-musllinux_1_2_aarch64.whl (787.9 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

regex-2026.1.15-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (775.7 kB view details)

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

regex-2026.1.15-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (803.6 kB view details)

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

regex-2026.1.15-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (912.3 kB view details)

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

regex-2026.1.15-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (864.3 kB view details)

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

regex-2026.1.15-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (798.7 kB view details)

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

regex-2026.1.15-cp312-cp312-macosx_11_0_arm64.whl (289.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

regex-2026.1.15-cp312-cp312-macosx_10_13_x86_64.whl (291.3 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

regex-2026.1.15-cp312-cp312-macosx_10_13_universal2.whl (489.4 kB view details)

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

regex-2026.1.15-cp311-cp311-win_arm64.whl (270.4 kB view details)

Uploaded CPython 3.11Windows ARM64

regex-2026.1.15-cp311-cp311-win_amd64.whl (277.8 kB view details)

Uploaded CPython 3.11Windows x86-64

regex-2026.1.15-cp311-cp311-win32.whl (265.9 kB view details)

Uploaded CPython 3.11Windows x86

regex-2026.1.15-cp311-cp311-musllinux_1_2_x86_64.whl (789.0 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

regex-2026.1.15-cp311-cp311-musllinux_1_2_s390x.whl (846.0 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ s390x

regex-2026.1.15-cp311-cp311-musllinux_1_2_riscv64.whl (762.2 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ riscv64

regex-2026.1.15-cp311-cp311-musllinux_1_2_ppc64le.whl (854.5 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ppc64le

regex-2026.1.15-cp311-cp311-musllinux_1_2_aarch64.whl (783.1 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

regex-2026.1.15-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (773.4 kB view details)

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

regex-2026.1.15-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (800.5 kB view details)

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

regex-2026.1.15-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (907.2 kB view details)

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

regex-2026.1.15-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (860.5 kB view details)

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

regex-2026.1.15-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (793.5 kB view details)

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

regex-2026.1.15-cp311-cp311-macosx_11_0_arm64.whl (288.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

regex-2026.1.15-cp311-cp311-macosx_10_9_x86_64.whl (290.6 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

regex-2026.1.15-cp311-cp311-macosx_10_9_universal2.whl (488.2 kB view details)

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

regex-2026.1.15-cp310-cp310-win_arm64.whl (270.4 kB view details)

Uploaded CPython 3.10Windows ARM64

regex-2026.1.15-cp310-cp310-win_amd64.whl (277.8 kB view details)

Uploaded CPython 3.10Windows x86-64

regex-2026.1.15-cp310-cp310-win32.whl (265.9 kB view details)

Uploaded CPython 3.10Windows x86

regex-2026.1.15-cp310-cp310-musllinux_1_2_x86_64.whl (779.9 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

regex-2026.1.15-cp310-cp310-musllinux_1_2_s390x.whl (836.2 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ s390x

regex-2026.1.15-cp310-cp310-musllinux_1_2_riscv64.whl (755.6 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ riscv64

regex-2026.1.15-cp310-cp310-musllinux_1_2_ppc64le.whl (845.9 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ppc64le

regex-2026.1.15-cp310-cp310-musllinux_1_2_aarch64.whl (774.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

regex-2026.1.15-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (767.9 kB view details)

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

regex-2026.1.15-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (782.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

regex-2026.1.15-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (791.8 kB view details)

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

regex-2026.1.15-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (898.8 kB view details)

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

regex-2026.1.15-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (850.8 kB view details)

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

regex-2026.1.15-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (781.7 kB view details)

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

regex-2026.1.15-cp310-cp310-macosx_11_0_arm64.whl (288.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

regex-2026.1.15-cp310-cp310-macosx_10_9_x86_64.whl (290.6 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

regex-2026.1.15-cp310-cp310-macosx_10_9_universal2.whl (488.2 kB view details)

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

regex-2026.1.15-cp39-cp39-win_arm64.whl (270.4 kB view details)

Uploaded CPython 3.9Windows ARM64

regex-2026.1.15-cp39-cp39-win_amd64.whl (277.9 kB view details)

Uploaded CPython 3.9Windows x86-64

regex-2026.1.15-cp39-cp39-win32.whl (265.9 kB view details)

Uploaded CPython 3.9Windows x86

regex-2026.1.15-cp39-cp39-musllinux_1_2_x86_64.whl (779.5 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

regex-2026.1.15-cp39-cp39-musllinux_1_2_s390x.whl (835.7 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ s390x

regex-2026.1.15-cp39-cp39-musllinux_1_2_riscv64.whl (755.1 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ riscv64

regex-2026.1.15-cp39-cp39-musllinux_1_2_ppc64le.whl (845.3 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ppc64le

regex-2026.1.15-cp39-cp39-musllinux_1_2_aarch64.whl (774.4 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

regex-2026.1.15-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (767.6 kB view details)

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

regex-2026.1.15-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (782.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

regex-2026.1.15-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (791.3 kB view details)

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

regex-2026.1.15-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (898.1 kB view details)

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

regex-2026.1.15-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (850.5 kB view details)

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

regex-2026.1.15-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (781.1 kB view details)

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

regex-2026.1.15-cp39-cp39-macosx_11_0_arm64.whl (288.5 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

regex-2026.1.15-cp39-cp39-macosx_10_9_x86_64.whl (290.6 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

regex-2026.1.15-cp39-cp39-macosx_10_9_universal2.whl (488.2 kB view details)

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

File details

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

File metadata

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

File hashes

Hashes for regex-2026.1.15.tar.gz
Algorithm Hash digest
SHA256 164759aa25575cbc0651bef59a0b18353e54300d79ace8084c818ad8ac72b7d5
MD5 de2493d248508420697c01a26e89859d
BLAKE2b-256 0b8607d5056945f9ec4590b518171c4254a5925832eb727b56d3c38a7476f316

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2026.1.15-cp314-cp314t-win_arm64.whl
Algorithm Hash digest
SHA256 ca89c5e596fc05b015f27561b3793dc2fa0917ea0d7507eebb448efd35274a70
MD5 69b55407e57dfe2d4a57e8b7bdf9b14c
BLAKE2b-256 95e4a3b9480c78cf8ee86626cb06f8d931d74d775897d44201ccb813097ae697

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2026.1.15-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 5ef19071f4ac9f0834793af85bd04a920b4407715624e40cb7a0631a11137cdf
MD5 46dfdc82654970a24097ecf1e07bb311
BLAKE2b-256 5bb2297293bb0742fd06b8d8e2572db41a855cdf1cae0bf009b1cb74fe07e196

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2026.1.15-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 e90b8db97f6f2c97eb045b51a6b2c5ed69cedd8392459e0642d4199b94fabd7e
MD5 649d7c180fd09c9e4a45df8af2ca2aab
BLAKE2b-256 e30d3a6cfa9ae99606afb612d8fb7a66b245a9d5ff0f29bb347c8a30b6ad561b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 619843841e220adca114118533a574a9cd183ed8a28b85627d2844c500a2b0db
MD5 08e62ad593d9c2d7adc36c0183ea0abe
BLAKE2b-256 d038dde117c76c624713c8a2842530be9c93ca8b606c0f6102d86e8cd1ce8bea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp314-cp314t-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 9d787e3310c6a6425eb346be4ff2ccf6eece63017916fd77fe8328c57be83521
MD5 a3d876973f649f700f9fc9c2d155c797
BLAKE2b-256 168bfc3fcbb2393dcfa4a6c5ffad92dc498e842df4581ea9d14309fcd3c55fb9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp314-cp314t-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 2a8d7b50c34578d0d3bf7ad58cde9652b7d683691876f83aedc002862a35dc5e
MD5 3ba2d557886d125e14fb3a780ed964cc
BLAKE2b-256 06b725635d2809664b79f183070786a5552dd4e627e5aedb0065f4e3cf8ee37d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp314-cp314t-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 b30bcbd1e1221783c721483953d9e4f3ab9c5d165aa709693d3f3946747b1aea
MD5 38b3b15bd1f85bfe76bedeedb86e5fa2
BLAKE2b-256 4679a5d8651ae131fe27d7c521ad300aa7f1c7be1dbeee4d446498af5411b8a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f9ca1cbdc0fbfe5e6e6f8221ef2309988db5bcede52443aeaee9a4ad555e0dac
MD5 2f9d739d49fc23051f6f8489c72c4892
BLAKE2b-256 65ec7ec2bbfd4c3f4e494a24dec4c6943a668e2030426b1b8b949a6462d2c17b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 166551807ec20d47ceaeec380081f843e88c8949780cd42c40f18d16168bed10
MD5 31f99311dcb10f81ea98ba6f0c1b767e
BLAKE2b-256 6933a47a29bfecebbbfd1e5cd3f26b28020a97e4820f1c5148e66e3b7d4b4992

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f192a831d9575271a22d804ff1a5355355723f94f31d9eef25f0d45a152fdc1a
MD5 5c1b25d563bf246bd28df4c13597e4a6
BLAKE2b-256 2a5ef660fb23fc77baa2a61aa1f1fe3a4eea2bbb8a286ddec148030672e18834

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 8355ad842a7c7e9e5e55653eade3b7d1885ba86f124dd8ab1f722f9be6627434
MD5 e70c41bb8d96db422365cdcd63c52a18
BLAKE2b-256 b8d90da86327df70349aa8d86390da91171bd3ca4f0e7c1d1d453a9c10344da3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 c243da3436354f4af6c3058a3f81a97d47ea52c9bd874b52fd30274853a1d5df
MD5 ba4ca1decd0877c6ed6e5219e8fe2c55
BLAKE2b-256 8f84f75d937f17f81e55679a0509e86176e29caa7298c38bd1db7ce9c0bf6075

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ef71d476caa6692eea743ae5ea23cde3260677f70122c4d258ca952e5c2d4e84
MD5 22e63b30645eb1138325de60f89b3f26
BLAKE2b-256 cf55bb8ccbacabbc3a11d863ee62a9f18b160a83084ea95cdfc5d207bfc3dd75

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dca3582bca82596609959ac39e12b7dad98385b4fefccb1151b937383cec547d
MD5 9bf9d4f8f947e19ad157f10290e99424
BLAKE2b-256 bff0ef55de2460f3b4a6da9d9e7daacd0cb79d4ef75c64a2af316e68447f0df0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp314-cp314t-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 2c2b80399a422348ce5de4fe40c418d6299a0fa2803dd61dc0b1a2f28e280fcf
MD5 db23b763464ada29be87315880c942cb
BLAKE2b-256 70f3f8302b0c208b22c1e4f423147e1913fd475ddd6230565b299925353de644

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp314-cp314t-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 ee6854c9000a10938c79238de2379bea30c82e4925a371711af45387df35cab8
MD5 aa443400e0bd4823d133aeab468c6452
BLAKE2b-256 ad770b1e81857060b92b9cad239104c46507dd481b3ff1fa79f8e7f865aae38a

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2026.1.15-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 91c5036ebb62663a6b3999bdd2e559fd8456d17e2b485bf509784cd31a8b1705
MD5 187a05d4042961c9bf5395a7c65c01c7
BLAKE2b-256 be2a20fd057bf3521cb4791f69f869635f73e0aaf2b9ad2d260f728144f9047c

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2026.1.15-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 4161d87f85fa831e31469bfd82c186923070fc970b9de75339b68f0c75b51903
MD5 d280eaefe0de9444a7a79fac7d839eac
BLAKE2b-256 4aa9ab16b4649524ca9e05213c1cdbb7faa85cc2aa90a0230d2f796cbaf22736

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2026.1.15-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 d639a750223132afbfb8f429c60d9d318aeba03281a5f1ab49f877456448dcf1
MD5 4db24ee2569454e6dad2feea0398b191
BLAKE2b-256 933877142422f631e013f316aaae83234c629555729a9fbc952b8a63ac91462a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9479cae874c81bf610d72b85bb681a94c95722c127b55445285fb0e2c82db8e1
MD5 64c004eb970fedaafceac40418617d8d
BLAKE2b-256 afd643e1dd85df86c49a347aa57c1f69d12c652c7b60e37ec162e3096194a278

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp314-cp314-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 a30a68e89e5a218b8b23a52292924c1f4b245cb0c68d1cce9aec9bbda6e2c160
MD5 556cbb3b769db067a4c69fdb8fc9cd5d
BLAKE2b-256 ddd17585c8e744e40eb3d32f119191969b91de04c073fca98ec14299041f6e7e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp314-cp314-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 453078802f1b9e2b7303fb79222c054cb18e76f7bdc220f7530fdc85d319f99e
MD5 12feaef52e68d3934f443c7a8efa7a59
BLAKE2b-256 0916710b0a5abe8e077b1729a562d2f297224ad079f3a66dce46844c193416c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp314-cp314-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 f1862739a1ffb50615c0fde6bae6569b5efbe08d98e59ce009f68a336f64da75
MD5 f243188fca4e03cfdcc1857fa0888ce0
BLAKE2b-256 8d992cb9b69045372ec877b6f5124bda4eb4253bc58b8fe5848c973f752bc52c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 74f45d170a21df41508cb67165456538425185baaf686281fa210d7e729abc34
MD5 e26106286f7dc39bfb18f411eadca9e0
BLAKE2b-256 ceb2cff3bf2fea4133aa6fb0d1e370b37544d18c8350a2fa118c7e11d1db0e14

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 0f0c7684c7f9ca241344ff95a1de964f257a5251968484270e91c25a755532c5
MD5 cd63e2aa7ad410a288c1295cd739a78a
BLAKE2b-256 2731d4292ea8566eaa551fafc07797961c5963cf5235c797cc2ae19b85dfd04d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0751a26ad39d4f2ade8fe16c59b2bf5cb19eb3d2cd543e709e583d559bd9efde
MD5 bb1d20210d4f77ad879663493acabd7f
BLAKE2b-256 0778c77f644b68ab054e5a674fb4da40ff7bffb2c88df58afa82dbf86573092d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 1e1808471fbe44c1a63e5f577a1d5f02fe5d66031dcbdf12f093ffc1305a858e
MD5 52431f5462726d769929ac405df4aad8
BLAKE2b-256 16400999e064a170eddd237bae9ccfcd8f28b3aa98a38bf727a086425542a4fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 8dd16fba2758db7a3780a051f245539c4451ca20910f5a5e6ea1c08d06d4a76b
MD5 026675f588431605bdbba8cf8179a81d
BLAKE2b-256 2756b664dccae898fc8d8b4c23accd853f723bde0f026c747b6f6262b688029c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3d7d92495f47567a9b1669c51fc8d6d809821849063d168121ef801bbc213846
MD5 9be5583ce58818600e32682b8dbd4089
BLAKE2b-256 ca33eb7383dde0bbc93f4fb9d03453aab97e18ad4024ac7e26cef8d1f0a2cff0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 621f73a07595d83f28952d7bd1e91e9d1ed7625fb7af0064d3516674ec93a2a2
MD5 fa809e7ec3517a6256f6ac86260d10c7
BLAKE2b-256 f9b6921cc61982e538682bdf3bdf5b2c6ab6b34368da1f8e98a6c1ddc503c9cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp314-cp314-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b5a28980a926fa810dbbed059547b02783952e2efd9c636412345232ddb87ff6
MD5 6b7c9cf6198ae92deeb0f9cf05cd2a09
BLAKE2b-256 acc4d000e9b7296c15737c9301708e9e7fbdea009f8e93541b6b43bdb8219646

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp314-cp314-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 d920392a6b1f353f4aa54328c867fec3320fa50657e25f64abf17af054fc97ac
MD5 80cf1fb96100396ea6a0db1f466732e7
BLAKE2b-256 520a47fa888ec7cbbc7d62c5f2a6a888878e76169170ead271a35239edd8f0e8

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2026.1.15-cp313-cp313t-win_arm64.whl
Algorithm Hash digest
SHA256 b2a13dd6a95e95a489ca242319d18fc02e07ceb28fa9ad146385194d95b3c829
MD5 458d0a7c8e4a3caf60697d669f8a406f
BLAKE2b-256 b4524317f7a5988544e34ab57b4bde0f04944c4786128c933fb09825924d3e82

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2026.1.15-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 32655d17905e7ff8ba5c764c43cb124e34a9245e45b83c22e81041e1071aee10
MD5 03733838abfb9504130eb3718193631e
BLAKE2b-256 e95ecef7d4c5fb0ea3ac5c775fd37db5747f7378b29526cc83f572198924ff47

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2026.1.15-cp313-cp313t-win32.whl
Algorithm Hash digest
SHA256 99ad739c3686085e614bf77a508e26954ff1b8f14da0e3765ff7abbf7799f952
MD5 6f967b5dce5cf38758ccf5761241a9e5
BLAKE2b-256 a5611bba81ff6d50c86c65d9fd84ce9699dd106438ee4cdb105bf60374ee8412

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c661fc820cfb33e166bf2450d3dadbda47c8d8981898adb9b6fe24e5e582ba60
MD5 7243fb497ab2d8be566e5052cf711303
BLAKE2b-256 3b67dc8946ef3965e166f558ef3b47f492bc364e96a265eb4a2bb3ca765c8e46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp313-cp313t-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 492534a0ab925d1db998defc3c302dae3616a2fc3fe2e08db1472348f096ddf2
MD5 28fb3ecc03f239a16df9446bbc8c1cc1
BLAKE2b-256 20067e18a4fa9d326daeda46d471a44ef94201c46eaa26dbbb780b5d92cbfdda

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp313-cp313t-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 b5f7d8d2867152cdb625e72a530d2ccb48a3d199159144cbdd63870882fb6f80
MD5 423938954c3856d781483a7c61ffe233
BLAKE2b-256 fc0fd5655bea5b22069e32ae85a947aa564912f23758e112cdb74212848a1a1b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp313-cp313t-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 a1774cd1981cd212506a23a14dba7fdeaee259f5deba2df6229966d9911e767a
MD5 1803044dfbeb558f47d4cea91593805d
BLAKE2b-256 3ec4542876f9a0ac576100fc73e9c75b779f5c31e3527576cfc9cb3009dcc58a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 124dc36c85d34ef2d9164da41a53c1c8c122cfb1f6e1ec377a1f27ee81deb794
MD5 24a93a1680fb495297cffaf824f24ada
BLAKE2b-256 e9a7d739ffaef33c378fc888302a018d7f81080393d96c476b058b8c64fd2b0d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 fe2fda4110a3d0bc163c2e0664be44657431440722c5c5315c65155cab92f9e5
MD5 2068dc286dd2cabf1a21862eea340133
BLAKE2b-256 2238e752f94e860d429654aa2b1c51880bff8dfe8f084268258adf9151cf1f53

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 194312a14819d3e44628a44ed6fea6898fdbecb0550089d84c403475138d0a09
MD5 5314b348a16536d09983126c90ba434c
BLAKE2b-256 c2fa97de0d681e6d26fabe71968dbee06dd52819e9a22fdce5dac7256c31ed84

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 d991483606f3dbec93287b9f35596f41aa2e92b7c2ebbb935b63f409e243c9af
MD5 3194326c749a5496ea265b980ecb7655
BLAKE2b-256 660b8b47fc2e8f97d9b4a851736f3890a5f786443aa8901061c55f24c955f45b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 05d75a668e9ea16f832390d22131fe1e8acc8389a694c8febc3e340b0f810b93
MD5 9484efda8b02c499d066728df2166d2f
BLAKE2b-256 1d25a53ffb73183f69c3e9f4355c4922b76d2840aee160af6af5fac229b6201d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1cb740d044aff31898804e7bf1181cc72c03d11dfd19932b9911ffc19a79070a
MD5 db294c403fc5427de87356a68e385ff1
BLAKE2b-256 ed6ca4011cd1cf96b90d2cdc7e156f91efbd26531e822a7fbb82a43c1016678e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 726ea4e727aba21643205edad8f2187ec682d3305d790f73b7a51c7587b64bdd
MD5 39e6c3e93bf5c7511c20d9f9bad4f618
BLAKE2b-256 4e58df7fb69eadfe76526ddfce28abdc0af09ffe65f20c2c90932e89d705153f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp313-cp313t-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 40c86d8046915bb9aeb15d3f3f15b6fd500b8ea4485b30e1bbc799dab3fe29f8
MD5 274b9038aa7aa4996f871eed5121ef97
BLAKE2b-256 50726c86acff16cb7c959c4355826bbf06aad670682d07c8f3998d9ef4fee7cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp313-cp313t-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 ec94c04149b6a7b8120f9f44565722c7ae31b7a6d2275569d2eefa76b83da3be
MD5 816b12ceddcacf9654d05f8b031802b5
BLAKE2b-256 3c380cfd5a78e5c6db00e6782fdae70458f89850ce95baa5e8694ab91d89744f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2026.1.15-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 8e32f7896f83774f91499d239e24cebfadbc07639c1494bb7213983842348337
MD5 6207fa0521e5fe12fc573fb48ef1b842
BLAKE2b-256 56c1a09ff7392ef4233296e821aec5f78c51be5e91ffde0d163059e50fd75835

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2026.1.15-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 febd38857b09867d3ed3f4f1af7d241c5c50362e25ef43034995b77a50df494e
MD5 3b25e1c3f8a7a22e5507f3bc53501768
BLAKE2b-256 4f165bfbb89e435897bff28cf0352a992ca719d9e55ebf8b629203c96b6ce4f7

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2026.1.15-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 d426616dae0967ca225ab12c22274eb816558f2f99ccb4a1d52ca92e8baf180f
MD5 a433089568320cff41c431e536989a85
BLAKE2b-256 fc2a5928af114441e059f15b2f63e188bd00c6529b3051c974ade7444b85fcda

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 08df9722d9b87834a3d701f3fca570b2be115654dbfd30179f30ab2f39d606d3
MD5 913ed0928efd2c614dc63b213389a2f8
BLAKE2b-256 7db7658a9782fb253680aa8ecb5ccbb51f69e088ed48142c46d9f0c99b46c575

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp313-cp313-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 cfecdaa4b19f9ca534746eb3b55a5195d5c95b88cac32a205e981ec0a22b7d31
MD5 c6b2b474521c84f88d2fb42f92c48671
BLAKE2b-256 6d84c27df502d4bfe2873a3e3a7cf1bdb2b9cc10284d1a44797cf38bed790470

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp313-cp313-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 6e42844ad64194fa08d5ccb75fe6a459b9b08e6d7296bd704460168d58a388f3
MD5 2826860bc0ca0783b8b179b99612fe7a
BLAKE2b-256 4a852ab5f77a1c465745bfbfcb3ad63178a58337ae8d5274315e2cc623a822fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp313-cp313-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 7ef7d5d4bd49ec7364315167a4134a015f61e8266c6d446fc116a9ac4456e10d
MD5 8625cd6cf0fd58cdf870fbca0cb21f02
BLAKE2b-256 72b379821c826245bbe9ccbb54f6eadb7879c722fd3e0248c17bfc90bf54e123

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c9c08c2fbc6120e70abff5d7f28ffb4d969e14294fb2143b4b5c7d20e46d1714
MD5 e8c7c883b9e5b4a8af54561edf90719a
BLAKE2b-256 cab575f9a9ee4b03a7c009fe60500fe550b45df94f0955ca29af16333ef557c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 6d220a2517f5893f55daac983bfa9fe998a7dbcaee4f5d27a88500f8b7873788
MD5 7cac2a9344f30bad3c3abe75a2ac337e
BLAKE2b-256 e7537cd478222169d85d74d7437e74750005e993f52f335f7c04ff7adfda3310

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 18388a62989c72ac24de75f1449d0fb0b04dfccd0a1a7c1c43af5eb503d890f6
MD5 b66944d47160601388344bb7c529041d
BLAKE2b-256 79b6e6a5665d43a7c42467138c8a2549be432bad22cbd206f5ec87162de74bd7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 0bf650f26087363434c4e560011f8e4e738f6f3e029b85d4904c50135b86cfa5
MD5 ca173353391bfb477d7df7f707a3b5f1
BLAKE2b-256 64444db2f5c5ca0ccd40ff052ae7b1e9731352fcdad946c2b812285a7505ca75

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 56a5595d0f892f214609c9f76b41b7428bed439d98dc961efafdd1354d42baae
MD5 c77cf6d049f5f14e3aebf80a7156f2f9
BLAKE2b-256 58de30e1cfcdbe3e891324aa7568b7c968771f82190df5524fabc1138cb2d45a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 968c14d4f03e10b2fd960f1d5168c1f0ac969381d3c1fcc973bc45fb06346599
MD5 ad69b14cd7b5dd0b68aea9383cea12d9
BLAKE2b-256 3b6a0041f0a2170d32be01ab981d6346c83a8934277d82c780d60b127331f264

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4c5ef43b5c2d4114eb8ea424bb8c9cec01d5d17f242af88b2448f5ee81caadbc
MD5 254571b67a68ce6020574b082a704571
BLAKE2b-256 b287b0cda79f22b8dee05f774922a214da109f9a4c0eca5da2c9d72d77ea062c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 3601ffb5375de85a16f407854d11cca8fe3f5febbe3ac78fb2866bb220c74d10
MD5 780e884443e409ea8ac159bb7861c1f1
BLAKE2b-256 dc679774542e203849b0286badf67199970a44ebdb0cc5fb739f06e47ada72f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 e69d0deeb977ffe7ed3d2e4439360089f9c3f217ada608f0f88ebd67afb6385e
MD5 8dae445f638d3104e2bc006c6ffe6194
BLAKE2b-256 f82e6870bb16e982669b674cce3ee9ff2d1d46ab80528ee6bcc20fb2292efb60

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2026.1.15-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 c6c565d9a6e1a8d783c1948937ffc377dd5771e83bd56de8317c450a954d2056
MD5 394e15180623c709b773cbd4a144042d
BLAKE2b-256 28325b8e476a12262748851fa8ab1b0be540360692325975b094e594dfebbb52

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2026.1.15-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4def140aa6156bc64ee9912383d4038f3fdd18fee03a6f222abd4de6357ce42a
MD5 bd65f158fab8d0e9c61891b2ee92d135
BLAKE2b-256 f23639d0b29d087e2b11fd8191e15e81cce1b635fcc845297c67f11d0d19274d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2026.1.15-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 82345326b1d8d56afbe41d881fdf62f1926d7264b2fc1537f99ae5da9aad7913
MD5 640c7a140c944e140fb516e9a079c7f8
BLAKE2b-256 7769c50a63842b6bd48850ebc7ab22d46e7a2a32d824ad6c605b218441814639

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cf8ff04c642716a7f2048713ddc6278c5fd41faa3b9cab12607c7abecd012c22
MD5 c2013ffea3f47bd7638973e6cd6e6026
BLAKE2b-256 8a873d06143d4b128f4229158f2de5de6c8f2485170c7221e61bf381313314b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp312-cp312-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 c6c4dcdfff2c08509faa15d36ba7e5ef5fcfab25f1e8f85a0c8f45bc3a30725d
MD5 b21312fdfdb2affa77db3c3618c6014a
BLAKE2b-256 9b846921e8129687a427edf25a34a5594b588b6d88f491320b9de5b6339a4fcb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp312-cp312-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 57e7d17f59f9ebfa9667e6e5a1c0127b96b87cb9cede8335482451ed00788ba4
MD5 138a1771f7eedca8f2ff04fbcaa0ed1c
BLAKE2b-256 a331040e589834d7a439ee43fb0e1e902bc81bd58a5ba81acffe586bb3321d35

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp312-cp312-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 2b091aefc05c78d286657cd4db95f2e6313375ff65dcf085e42e4c04d9c8d410
MD5 fea16aad49b3fa97806dde3f529c7ba9
BLAKE2b-256 f4f513bf65864fc314f68cdd6d8ca94adcab064d4d39dbd0b10fef29a9da48fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 86c1077a3cc60d453d4084d5b9649065f3bf1184e22992bd322e1f081d3117fb
MD5 9353a3ff359e1a20965c014c669f875b
BLAKE2b-256 e765bf3a42fa6897a0d3afa81acb25c42f4b71c274f698ceabd75523259f6688

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 d5eaa4a4c5b1906bd0d2508d68927f15b81821f85092e06f1a34a4254b0e1af3
MD5 460e0f0847e07a195393e4158312fdfb
BLAKE2b-256 662333289beba7ccb8b805c6610a8913d0131f834928afc555b241caabd422a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c32bef3e7aeee75746748643667668ef941d28b003bfc89994ecf09a10f7a1b5
MD5 60ee26c835b55c37b2b34acce9183524
BLAKE2b-256 dddf0d722c030c82faa1d331d1921ee268a4e8fb55ca8b9042c9341c352f17fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 0bf065240704cb8951cc04972cf107063917022511273e0969bdb34fc173456c
MD5 35f25bfb621c2b4270a3471aa53bd45e
BLAKE2b-256 6eab1d0f4d50a1638849a97d731364c9a80fa304fec46325e48330c170ee8e80

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 8050ba2e3ea1d8731a549e83c18d2f0999fbc99a5f6bd06b4c91449f55291804
MD5 50d9bb8ed556f47ac6c35c5b02cb4118
BLAKE2b-256 b2e659650d73a73fa8a60b3a590545bfcf1172b4384a7df2e7fe7b9aab4e2da9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c8a154cf6537ebbc110e24dabe53095e714245c272da9c1be05734bdad4a61aa
MD5 43356a840fa417d1062b62dfc5bd6643
BLAKE2b-256 c6e41fc4599450c9f0863d9406e944592d968b8d6dfd0d552a7d569e43bceada

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9250d087bc92b7d4899ccd5539a1b2334e44eee85d848c4c1aef8e221d3f8c8f
MD5 192de35c6f796af072260163311b2605
BLAKE2b-256 194d16d0773d0c818417f4cc20aa0da90064b966d22cd62a8c46765b5bd2d643

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 bfd876041a956e6a90ad7cdb3f6a630c07d491280bfeed4544053cd434901681
MD5 5b4651d010bccc24c26d8121c52e694b
BLAKE2b-256 90b07c2a74e74ef2a7c32de724658a69a862880e3e4155cba992ba04d1c70400

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 4c8fcc5793dde01641a35905d6731ee1548f02b956815f8f1cab89e515a5bdf1
MD5 965156473593acc188cc7d0fff6a06d1
BLAKE2b-256 928110d8cf43c807d0326efe874c1b79f22bfb0fb226027b0b19ebc26d301408

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2026.1.15-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 41aef6f953283291c4e4e6850607bd71502be67779586a61472beacb315c97ec
MD5 b110e38eeb857911abcae399bc5896bf
BLAKE2b-256 7884d05f61142709474da3c0853222d91086d3e1372bcdab516c6fd8d80f3297

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2026.1.15-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e9bf3f0bbdb56633c07d7116ae60a576f846efdd86a8848f8d62b749e1209ca7
MD5 a980159c31210cbea06c0f5fe6d12290
BLAKE2b-256 0f19772cf8b5fc803f5c89ba85d8b1870a1ca580dc482aa030383a9289c82e44

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2026.1.15-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 b10e42a6de0e32559a92f2f8dc908478cc0fa02838d7dbe764c44dca3fa13569
MD5 5d84cd8dac4c39bd39706281cbe0755d
BLAKE2b-256 ed143076348f3f586de64b1ab75a3fbabdaab7684af7f308ad43be7ef1849e55

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bfb0d6be01fbae8d6655c8ca21b3b72458606c4aec9bbc932db758d47aba6db1
MD5 3ea30f8d052b1ad798b457c2c092c9a8
BLAKE2b-256 fd2efbee4cb93f9d686901a7ca8d94285b80405e8c34fe4107f63ffcbfb56379

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp311-cp311-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 27618391db7bdaf87ac6c92b31e8f0dfb83a9de0075855152b720140bda177a2
MD5 a6365c39ecf01a804bb3624fd8290d0b
BLAKE2b-256 386b61fc710f9aa8dfcd764fe27d37edfaa023b1a23305a0d84fccd5adb346ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp311-cp311-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 f82110ab962a541737bd0ce87978d4c658f06e7591ba899192e2712a517badbb
MD5 c9eb4d2674efed182bb5344912f83f64
BLAKE2b-256 d99a8e8560bd78caded8eb137e3e47612430a05b9a772caf60876435192d670a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp311-cp311-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 e43a55f378df1e7a4fa3547c88d9a5a9b7113f653a66821bcea4718fe6c58763
MD5 e4313f77ad77b33ddac73ea19107f1e4
BLAKE2b-256 1ef46ed03e71dca6348a5188363a34f5e26ffd5db1404780288ff0d79513bce4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c08c1f3e34338256732bd6938747daa3c0d5b251e04b6e43b5813e94d503076e
MD5 1277308726b91d0467fff910b3bba573
BLAKE2b-256 af89bf22cac25cb4ba0fe6bff52ebedbb65b77a179052a9d6037136ae93f42f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 0dcd31594264029b57bf16f37fd7248a70b3b764ed9e0839a8f271b2d22c0785
MD5 af627353ce5ba69f131645c075bfc502
BLAKE2b-256 4bff647d5715aeea7c87bdcbd2f578f47b415f55c24e361e639fe8c0cc88878f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d9ea2604370efc9a174c1b5dcc81784fb040044232150f7f33756049edfc9026
MD5 afcb25701e50be42f36622376aae54cc
BLAKE2b-256 a43c87ca0a02736d16b6262921425e84b48984e77d8e4e572c9072ce96e66c30

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 2f2775843ca49360508d080eaa87f94fa248e2c946bbcd963bb3aae14f333413
MD5 3102162aa42ce711e6303b21d4c73b40
BLAKE2b-256 dc1c9dce667a32a9477f7a2869c1c767dc00727284a9fa3ff5c09a5c6c03575e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 2748c1ec0663580b4510bd89941a31560b4b439a0b428b49472a3d9944d11cd8
MD5 8131a44269f5e68e1a40ebbc22dded79
BLAKE2b-256 8d4ea39a5e8edc5377a46a7c875c2f9a626ed3338cb3bb06931be461c3e1a34a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5170907244b14303edc5978f522f16c974f32d3aa92109fabc2af52411c9433b
MD5 db734ea52a30b17227c58ffabac2cd73
BLAKE2b-256 b5e18f43b03a4968c748858ec77f746c286d81f896c2e437ccf050ebc5d3128c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1e8cd52557603f5c66a548f69421310886b28b7066853089e1a71ee710e1cdc1
MD5 b11dc51ccbde697a5c4a457458c49f68
BLAKE2b-256 a0f95f1fd077d106ca5655a0f9ff8f25a1ab55b92128b5713a91ed7134ff688e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 eddf73f41225942c1f994914742afa53dc0d01a6e20fe14b878a1b1edc74151f
MD5 78ad03ed8f5aa723f963cd9eaba5c234
BLAKE2b-256 17f0271c92f5389a552494c429e5cc38d76d1322eb142fb5db3c8ccc47751468

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 1ae6020fb311f68d753b7efa9d4b9a5d47a5d6466ea0d5e3b5a471a960ea6e4a
MD5 5950af3b403c1570480c553828e7d9c5
BLAKE2b-256 d0c90c80c96eab96948363d270143138d671d5731c3a692b417629bf3492a9d6

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2026.1.15-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 505831646c945e3e63552cc1b1b9b514f0e93232972a2d5bedbcc32f15bc82e3
MD5 4e019ca4be8f3693312a27b3cf4d1a38
BLAKE2b-256 e5365d9972bccd6417ecd5a8be319cebfd80b296875e7f116c37fb2a2deecebf

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2026.1.15-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3038a62fc7d6e5547b8915a3d927a0fbeef84cdbe0b1deb8c99bbd4a8961b52a
MD5 aeec9926b86955a7bf82a63d382b4072
BLAKE2b-256 1d6231d16ae24e1f8803bddb0885508acecaec997fcdcde9c243787103119ae4

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2026.1.15-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 21ca32c28c30d5d65fc9886ff576fc9b59bbca08933e844fa2363e530f4c8218
MD5 7f4d0cde0b3c9731c6dccd88bf88d8fd
BLAKE2b-256 c067eab9bc955c9dcc58e9b222c801e39cff7ca0b04261792a2149166ce7e792

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e85dc94595f4d766bd7d872a9de5ede1ca8d3063f3bdf1e2c725f5eb411159e3
MD5 6e6f77fc2e69ddca4614f9d90b07e2a4
BLAKE2b-256 113a1f2a1d29453299a7858eab7759045fc3d9d1b429b088dec2dc85b6fa16a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp310-cp310-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 87adf5bd6d72e3e17c9cb59ac4096b1faaf84b7eb3037a5ffa61c4b4370f0f13
MD5 15f2d3b1a766966b54520d69e5377a49
BLAKE2b-256 6f766f2e24aa192da1e299cc1101674a60579d3912391867ce0b946ba83e2194

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp310-cp310-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 e3174a5ed4171570dc8318afada56373aa9289eb6dc0d96cceb48e7358b0e220
MD5 71405e8d65eab9c04aaec22a1cefeb04
BLAKE2b-256 f857d7605a9d53bd07421a8785d349cd29677fe660e13674fa4c6cbd624ae354

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp310-cp310-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 1704d204bd42b6bb80167df0e4554f35c255b579ba99616def38f69e14a5ccb9
MD5 9f8ceae622cddbee31fefcd813e56295
BLAKE2b-256 0f9823a4a8378a9208514ed3efc7e7850c27fa01e00ed8557c958df0335edc4a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3d6ce5ae80066b319ae3bc62fd55a557c9491baa5efd0d355f0de08c4ba54e79
MD5 d925343c3f127b5ff773e06530bb41f8
BLAKE2b-256 af3ee6a216cee1e2780fec11afe7fc47b6f3925d7264e8149c607ac389fd9b1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 6bfc31a37fd1592f0c4fc4bfc674b5c42e52efe45b4b7a6a14f334cca4bcebe4
MD5 cbfb3b1fcdf942302cfe33a2c88390fa
BLAKE2b-256 d2ffadf60063db24532add6a1676943754a5654dcac8237af024ede38244fd12

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 f052d1be37ef35a54e394de66136e30fa1191fab64f71fc06ac7bc98c9a84618
MD5 95a92cfb8d978e4a1457088bd13c9436
BLAKE2b-256 4c84e31f9d149a178889b3817212827f5e0e8c827a049ff31b4b381e76b26e2d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5ff818702440a5878a81886f127b80127f5d50563753a28211482867f8318106
MD5 64daeec87c0ea0faf5dab58598558644
BLAKE2b-256 79a91898a077e2965c35fc22796488141a22676eed2d73701e37c73ad7c0b459

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 b0d190e6f013ea938623a58706d1469a62103fb2a241ce2873a9906e0386582c
MD5 a1b32a676321e6e2992947da3e0e7197
BLAKE2b-256 6c4f3eeacdf587a4705a44484cd0b30e9230a0e602811fb3e2cc32268c70d509

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 693b465171707bbe882a7a05de5e866f33c76aa449750bee94a8d90463533cc9
MD5 c3bf9d6d30958342577a34a1cbc5e84b
BLAKE2b-256 23ce21a8a22d13bc4adcb927c27b840c948f15fc973e21ed2346c1bd0eae22dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7dcc02368585334f5bc81fc73a2a6a0bbade60e7d83da21cead622faf408f32c
MD5 fbcaac702f0765671d2b8e8ab748453e
BLAKE2b-256 c6311adc33e2f717df30d2f4d973f8776d2ba6ecf939301efab29fca57505c95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0bda75ebcac38d884240914c6c43d8ab5fb82e74cde6da94b43b17c411aa4c2b
MD5 65b1b74461f97c5ece1920d004da889c
BLAKE2b-256 d5c323dfe15af25d1d45b07dfd4caa6003ad710dcdcb4c4b279909bdfe7a2de8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 97499ff7862e868b1977107873dd1a06e151467129159a6ffd07b66706ba3a9f
MD5 df4e7cdd5a9d0a19a6feff3072a31fff
BLAKE2b-256 238a819e9ce14c9f87af026d0690901b3931f3101160833e5d4c8061fa3a1b67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.1.15-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 4e3dd93c8f9abe8aa4b6c652016da9a3afa190df5ad822907efe6b206c09896e
MD5 1cdcbcbecf9c0e92e44fa627843475bb
BLAKE2b-256 ead2e6ee96b7dff201a83f650241c52db8e5bd080967cb93211f57aa448dc9d6

See more details on using hashes here.

File details

Details for the file regex-2026.1.15-cp39-cp39-win_arm64.whl.

File metadata

  • Download URL: regex-2026.1.15-cp39-cp39-win_arm64.whl
  • Upload date:
  • Size: 270.4 kB
  • Tags: CPython 3.9, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for regex-2026.1.15-cp39-cp39-win_arm64.whl
Algorithm Hash digest
SHA256 b325d4714c3c48277bfea1accd94e193ad6ed42b4bad79ad64f3b8f8a31260a5
MD5 97cc20345c9556005621f4ea72145088
BLAKE2b-256 f7fa4e033327c1d8350bc812cac906d873984d3d4b39529252f392a47ccc356d

See more details on using hashes here.

File details

Details for the file regex-2026.1.15-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: regex-2026.1.15-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 277.9 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for regex-2026.1.15-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 cda1ed70d2b264952e88adaa52eea653a33a1b98ac907ae2f86508eb44f65cdc
MD5 039b4ce96b6c9cf4f1b43d0f2fe4ad6d
BLAKE2b-256 7bc2bb8fad7d27f1d71fc9772befd544bccd22eddc62a6735f57b003b4aff005

See more details on using hashes here.

File details

Details for the file regex-2026.1.15-cp39-cp39-win32.whl.

File metadata

  • Download URL: regex-2026.1.15-cp39-cp39-win32.whl
  • Upload date:
  • Size: 265.9 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for regex-2026.1.15-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 ea4e6b3566127fda5e007e90a8fd5a4169f0cf0619506ed426db647f19c8454a
MD5 2a23da7a0950ddd491bf09b7fde3a160
BLAKE2b-256 bcf9124f6a5cb3969d8e30471ed4f46cfc17c47aef1a9863ee8b4ba1d98b1bc4

See more details on using hashes here.

File details

Details for the file regex-2026.1.15-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for regex-2026.1.15-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 069f56a7bf71d286a6ff932a9e6fb878f151c998ebb2519a9f6d1cee4bffdba3
MD5 4af9d673d042e15b60741a6ef6d5d532
BLAKE2b-256 ad151986972c276672505437f1ba3c9706c2d91f321cfb9b2f4d06e8bff1b999

See more details on using hashes here.

File details

Details for the file regex-2026.1.15-cp39-cp39-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for regex-2026.1.15-cp39-cp39-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 adc97a9077c2696501443d8ad3fa1b4fc6d131fc8fd7dfefd1a723f89071cf0a
MD5 935a66d2a09121fa547cb1de25f2bd51
BLAKE2b-256 7033d5748c7b6c9d3621f12570583561ba529e2d1b12e4f70b8f17979b133e65

See more details on using hashes here.

File details

Details for the file regex-2026.1.15-cp39-cp39-musllinux_1_2_riscv64.whl.

File metadata

File hashes

Hashes for regex-2026.1.15-cp39-cp39-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 dbaf3c3c37ef190439981648ccbf0c02ed99ae066087dd117fcb616d80b010a4
MD5 633fc7226d78d3b1e27e94f2d9526b6e
BLAKE2b-256 99a099468c386ab68a5e24c946c5c353c29c33a95523e275c17839f2446db15d

See more details on using hashes here.

File details

Details for the file regex-2026.1.15-cp39-cp39-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2026.1.15-cp39-cp39-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 f7792f27d3ee6e0244ea4697d92b825f9a329ab5230a78c1a68bd274e64b5077
MD5 74d00b2c1ae737f0179305b6561494c7
BLAKE2b-256 cc97c522d1f19fb2c549aaf680b115c110cd124c02062bc8c95f33db8583b4bb

See more details on using hashes here.

File details

Details for the file regex-2026.1.15-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for regex-2026.1.15-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f42e68301ff4afee63e365a5fc302b81bb8ba31af625a671d7acb19d10168a8c
MD5 7edee4f019f3c6401c3e589a756f8c3d
BLAKE2b-256 0951c6a6311833e040f95d229a34d82ac1cec2af8a5c00d58b244f2fceecef87

See more details on using hashes here.

File details

Details for the file regex-2026.1.15-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl.

File metadata

File hashes

Hashes for regex-2026.1.15-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 fd65af65e2aaf9474e468f9e571bd7b189e1df3a61caa59dcbabd0000e4ea839
MD5 8016895f699b43cbdee6325477bdb423
BLAKE2b-256 610ed3b3710eaafd994a4a71205d114abc38cda8691692a2ce2313abe68e7eb7

See more details on using hashes here.

File details

Details for the file regex-2026.1.15-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for regex-2026.1.15-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 008b185f235acd1e53787333e5690082e4f156c44c87d894f880056089e9bc7c
MD5 4038f7b24ccbf9947227107c6e554f2e
BLAKE2b-256 c45db72e176fb21e2ec248baed01151a342d1f44dd43c2b6bb6a41ad183b274e

See more details on using hashes here.

File details

Details for the file regex-2026.1.15-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for regex-2026.1.15-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 55e9d0118d97794367309635df398bdfd7c33b93e2fdfa0b239661cd74b4c14e
MD5 ac52b3c8a400139b39e4ba5e16d5e739
BLAKE2b-256 e7741eb46bde30899825ed9fdf645eba16b7b97c49d12d300f5177989b9a09a4

See more details on using hashes here.

File details

Details for the file regex-2026.1.15-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for regex-2026.1.15-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 343db82cb3712c31ddf720f097ef17c11dab2f67f7a3e7be976c4f82eba4e6df
MD5 283cd935ee438d6b163550ed237ab5e7
BLAKE2b-256 5d3bbaa816cdcad1c0f8195f9f40ab2b2a2246c8a2989dcd90641c0c6559e3fd

See more details on using hashes here.

File details

Details for the file regex-2026.1.15-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2026.1.15-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 8db052bbd981e1666f09e957f3790ed74080c2229007c1dd67afdbf0b469c48b
MD5 e54660bde0439d58876520fdc11b5a2d
BLAKE2b-256 7d2c707e5c380ad547c93686e21144e7e24dc2064dd84ec5b751b6dbdfc9be2b

See more details on using hashes here.

File details

Details for the file regex-2026.1.15-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for regex-2026.1.15-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 cc7cd0b2be0f0269283a45c0d8b2c35e149d1319dcb4a43c9c3689fa935c1ee6
MD5 27bb90cfce484ed5405e8a32a51745cc
BLAKE2b-256 7089faf5ee5c69168753c845a3d58b4683f61c899d162bfe1264fca88d5b3924

See more details on using hashes here.

File details

Details for the file regex-2026.1.15-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for regex-2026.1.15-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0057de9eaef45783ff69fa94ae9f0fd906d629d0bd4c3217048f46d1daa32e9b
MD5 f12c6d8df9a7facefe29be979fffd739
BLAKE2b-256 4bd2a2fef3717deaff647d7de2bccf899a576c7eaf042b6b271fc4474515fe97

See more details on using hashes here.

File details

Details for the file regex-2026.1.15-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for regex-2026.1.15-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7e1e28be779884189cdd57735e997f282b64fd7ccf6e2eef3e16e57d7a34a815
MD5 32ab2e371e127fa04907cbd00a351170
BLAKE2b-256 78dfc52c1ff4221529faad0953e197982fe9508c6dbb42327e31bf98ea07472a

See more details on using hashes here.

File details

Details for the file regex-2026.1.15-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for regex-2026.1.15-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 55b4ea996a8e4458dd7b584a2f89863b1655dd3d17b88b46cbb9becc495a0ec5
MD5 a0e912bd4be4fc3507397f2b33d765e6
BLAKE2b-256 a2e70e1913dc52eee9c5cf8417c9813c4c55972a3f37d27cfa2e623b79b63dbc

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