[go: up one dir, main page]

Skip to main content
Warning Some features may not work without JavaScript. Please try enabling it if you encounter problems.

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.2.28.tar.gz (415.2 kB view details)

Uploaded Source

Built Distributions

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

The dropdown lists show the available interpreters, ABIs, and platforms.

Enable javascript to be able to filter the list of wheel files.

regex-2026.2.28-cp314-cp314t-win_arm64.whl (275.0 kB view details)

Uploaded CPython 3.14tWindows ARM64

regex-2026.2.28-cp314-cp314t-win_amd64.whl (284.8 kB view details)

Uploaded CPython 3.14tWindows x86-64

regex-2026.2.28-cp314-cp314t-win32.whl (274.9 kB view details)

Uploaded CPython 3.14tWindows x86

regex-2026.2.28-cp314-cp314t-musllinux_1_2_x86_64.whl (800.4 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

regex-2026.2.28-cp314-cp314t-musllinux_1_2_s390x.whl (854.7 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ s390x

regex-2026.2.28-cp314-cp314t-musllinux_1_2_riscv64.whl (770.9 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ riscv64

regex-2026.2.28-cp314-cp314t-musllinux_1_2_ppc64le.whl (864.7 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ppc64le

regex-2026.2.28-cp314-cp314t-musllinux_1_2_aarch64.whl (798.9 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

regex-2026.2.28-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (782.2 kB view details)

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

regex-2026.2.28-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (812.2 kB view details)

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

regex-2026.2.28-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (915.3 kB view details)

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

regex-2026.2.28-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (869.6 kB view details)

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

regex-2026.2.28-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (809.5 kB view details)

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

regex-2026.2.28-cp314-cp314t-macosx_11_0_arm64.whl (291.5 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

regex-2026.2.28-cp314-cp314t-macosx_10_13_x86_64.whl (293.0 kB view details)

Uploaded CPython 3.14tmacOS 10.13+ x86-64

regex-2026.2.28-cp314-cp314t-macosx_10_13_universal2.whl (492.5 kB view details)

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

regex-2026.2.28-cp314-cp314-win_arm64.whl (273.4 kB view details)

Uploaded CPython 3.14Windows ARM64

regex-2026.2.28-cp314-cp314-win_amd64.whl (280.5 kB view details)

Uploaded CPython 3.14Windows x86-64

regex-2026.2.28-cp314-cp314-win32.whl (271.8 kB view details)

Uploaded CPython 3.14Windows x86

regex-2026.2.28-cp314-cp314-musllinux_1_2_x86_64.whl (789.9 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

regex-2026.2.28-cp314-cp314-musllinux_1_2_s390x.whl (848.7 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ s390x

regex-2026.2.28-cp314-cp314-musllinux_1_2_riscv64.whl (763.7 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ riscv64

regex-2026.2.28-cp314-cp314-musllinux_1_2_ppc64le.whl (857.8 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ppc64le

regex-2026.2.28-cp314-cp314-musllinux_1_2_aarch64.whl (784.9 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

regex-2026.2.28-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (775.4 kB view details)

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

regex-2026.2.28-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (801.5 kB view details)

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

regex-2026.2.28-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (908.7 kB view details)

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

regex-2026.2.28-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (863.8 kB view details)

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

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

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

regex-2026.2.28-cp314-cp314-macosx_11_0_arm64.whl (289.3 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

regex-2026.2.28-cp314-cp314-macosx_10_13_x86_64.whl (291.3 kB view details)

Uploaded CPython 3.14macOS 10.13+ x86-64

regex-2026.2.28-cp314-cp314-macosx_10_13_universal2.whl (489.5 kB view details)

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

regex-2026.2.28-cp313-cp313t-win_arm64.whl (271.7 kB view details)

Uploaded CPython 3.13tWindows ARM64

regex-2026.2.28-cp313-cp313t-win_amd64.whl (280.7 kB view details)

Uploaded CPython 3.13tWindows x86-64

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

Uploaded CPython 3.13tWindows x86

regex-2026.2.28-cp313-cp313t-musllinux_1_2_x86_64.whl (800.2 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ s390x

regex-2026.2.28-cp313-cp313t-musllinux_1_2_riscv64.whl (770.9 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ riscv64

regex-2026.2.28-cp313-cp313t-musllinux_1_2_ppc64le.whl (864.6 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ppc64le

regex-2026.2.28-cp313-cp313t-musllinux_1_2_aarch64.whl (798.7 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

regex-2026.2.28-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (782.1 kB view details)

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

regex-2026.2.28-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (812.0 kB view details)

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

regex-2026.2.28-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (915.2 kB view details)

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

regex-2026.2.28-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (869.4 kB view details)

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

regex-2026.2.28-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (809.4 kB view details)

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

regex-2026.2.28-cp313-cp313t-macosx_11_0_arm64.whl (291.5 kB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

regex-2026.2.28-cp313-cp313t-macosx_10_13_x86_64.whl (293.0 kB view details)

Uploaded CPython 3.13tmacOS 10.13+ x86-64

regex-2026.2.28-cp313-cp313t-macosx_10_13_universal2.whl (492.5 kB view details)

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

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

Uploaded CPython 3.13Windows ARM64

regex-2026.2.28-cp313-cp313-win_amd64.whl (277.3 kB view details)

Uploaded CPython 3.13Windows x86-64

regex-2026.2.28-cp313-cp313-win32.whl (266.4 kB view details)

Uploaded CPython 3.13Windows x86

regex-2026.2.28-cp313-cp313-musllinux_1_2_x86_64.whl (790.2 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

regex-2026.2.28-cp313-cp313-musllinux_1_2_s390x.whl (849.3 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ s390x

regex-2026.2.28-cp313-cp313-musllinux_1_2_riscv64.whl (763.6 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ riscv64

regex-2026.2.28-cp313-cp313-musllinux_1_2_ppc64le.whl (856.9 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ppc64le

regex-2026.2.28-cp313-cp313-musllinux_1_2_aarch64.whl (784.3 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

regex-2026.2.28-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (775.3 kB view details)

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

regex-2026.2.28-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (802.1 kB view details)

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

regex-2026.2.28-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (909.4 kB view details)

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

regex-2026.2.28-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (863.1 kB view details)

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

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

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

regex-2026.2.28-cp313-cp313-macosx_11_0_arm64.whl (289.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

regex-2026.2.28-cp313-cp313-macosx_10_13_x86_64.whl (291.3 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

regex-2026.2.28-cp313-cp313-macosx_10_13_universal2.whl (489.3 kB view details)

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

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

Uploaded CPython 3.12Windows ARM64

regex-2026.2.28-cp312-cp312-win_amd64.whl (277.3 kB view details)

Uploaded CPython 3.12Windows x86-64

regex-2026.2.28-cp312-cp312-win32.whl (266.4 kB view details)

Uploaded CPython 3.12Windows x86

regex-2026.2.28-cp312-cp312-musllinux_1_2_x86_64.whl (790.1 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

regex-2026.2.28-cp312-cp312-musllinux_1_2_s390x.whl (849.3 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ s390x

regex-2026.2.28-cp312-cp312-musllinux_1_2_riscv64.whl (763.5 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ riscv64

regex-2026.2.28-cp312-cp312-musllinux_1_2_ppc64le.whl (856.8 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ppc64le

regex-2026.2.28-cp312-cp312-musllinux_1_2_aarch64.whl (784.2 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

regex-2026.2.28-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (775.1 kB view details)

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

regex-2026.2.28-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (802.0 kB view details)

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

regex-2026.2.28-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (909.5 kB view details)

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

regex-2026.2.28-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (863.1 kB view details)

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

regex-2026.2.28-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (796.8 kB view details)

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

regex-2026.2.28-cp312-cp312-macosx_11_0_arm64.whl (289.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

regex-2026.2.28-cp312-cp312-macosx_10_13_x86_64.whl (291.4 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

regex-2026.2.28-cp312-cp312-macosx_10_13_universal2.whl (489.6 kB view details)

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

regex-2026.2.28-cp311-cp311-win_arm64.whl (270.3 kB view details)

Uploaded CPython 3.11Windows ARM64

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

Uploaded CPython 3.11Windows x86-64

regex-2026.2.28-cp311-cp311-win32.whl (266.0 kB view details)

Uploaded CPython 3.11Windows x86

regex-2026.2.28-cp311-cp311-musllinux_1_2_x86_64.whl (788.3 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

regex-2026.2.28-cp311-cp311-musllinux_1_2_s390x.whl (844.8 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ s390x

regex-2026.2.28-cp311-cp311-musllinux_1_2_riscv64.whl (761.9 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ riscv64

regex-2026.2.28-cp311-cp311-musllinux_1_2_ppc64le.whl (854.2 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ppc64le

regex-2026.2.28-cp311-cp311-musllinux_1_2_aarch64.whl (781.1 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

regex-2026.2.28-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (772.8 kB view details)

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

regex-2026.2.28-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (800.2 kB view details)

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

regex-2026.2.28-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (906.6 kB view details)

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

regex-2026.2.28-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (860.1 kB view details)

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

regex-2026.2.28-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (791.9 kB view details)

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

regex-2026.2.28-cp311-cp311-macosx_11_0_arm64.whl (288.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

regex-2026.2.28-cp311-cp311-macosx_10_9_x86_64.whl (290.8 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

regex-2026.2.28-cp311-cp311-macosx_10_9_universal2.whl (488.5 kB view details)

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

regex-2026.2.28-cp310-cp310-win_arm64.whl (270.3 kB view details)

Uploaded CPython 3.10Windows ARM64

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

Uploaded CPython 3.10Windows x86-64

regex-2026.2.28-cp310-cp310-win32.whl (266.0 kB view details)

Uploaded CPython 3.10Windows x86

regex-2026.2.28-cp310-cp310-musllinux_1_2_x86_64.whl (780.1 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

regex-2026.2.28-cp310-cp310-musllinux_1_2_s390x.whl (835.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ s390x

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

Uploaded CPython 3.10musllinux: musl 1.2+ riscv64

regex-2026.2.28-cp310-cp310-musllinux_1_2_ppc64le.whl (846.7 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ppc64le

regex-2026.2.28-cp310-cp310-musllinux_1_2_aarch64.whl (773.9 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

regex-2026.2.28-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (767.5 kB view details)

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

regex-2026.2.28-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (783.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

regex-2026.2.28-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (791.7 kB view details)

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

regex-2026.2.28-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (896.6 kB view details)

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

regex-2026.2.28-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (850.5 kB view details)

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

regex-2026.2.28-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (782.7 kB view details)

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

regex-2026.2.28-cp310-cp310-macosx_11_0_arm64.whl (288.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

regex-2026.2.28-cp310-cp310-macosx_10_9_x86_64.whl (290.8 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

regex-2026.2.28-cp310-cp310-macosx_10_9_universal2.whl (488.5 kB view details)

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

File details

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

File metadata

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

File hashes

Hashes for regex-2026.2.28.tar.gz
Algorithm Hash digest
SHA256 a729e47d418ea11d03469f321aaf67cdee8954cde3ff2cf8403ab87951ad10f2
MD5 d0ce2a36afe1d6fe7b6e188963db1b22
BLAKE2b-256 8b7141455aa99a5a5ac1eaf311f5d8efd9ce6433c03ac1e0962de163350d0d97

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2026.2.28-cp314-cp314t-win_arm64.whl
  • Upload date:
  • Size: 275.0 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.2.28-cp314-cp314t-win_arm64.whl
Algorithm Hash digest
SHA256 dee50f1be42222f89767b64b283283ef963189da0dda4a515aa54a5563c62dec
MD5 16b53ff2554489dc01e290e0e84ba5b4
BLAKE2b-256 13c0ad225f4a405827486f1955283407cf758b6d2fb966712644c5f5aef33d1b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2026.2.28-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 284.8 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.2.28-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 6591f281cb44dc13de9585b552cec6fc6cf47fb2fe7a48892295ee9bc4a612f9
MD5 875bda67b7cfb21f5b1dbfdcaad0bf30
BLAKE2b-256 cbe7d8020e39414c93af7f0d8688eabcecece44abfd5ce314b21dfda0eebd3d8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2026.2.28-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 274.9 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.2.28-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 bbb882061f742eb5d46f2f1bd5304055be0a66b783576de3d7eef1bed4778a6e
MD5 3a735465440572ab614b98e20aab98f8
BLAKE2b-256 14bdee13b20b763b8989f7c75d592bfd5de37dc1181814a2a2747fedcf97e3ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1c2c95e1a2b0f89d01e821ff4de1be4b5d73d1f4b0bf679fa27c1ad8d2327f1a
MD5 b005ca723dbcfe407fad0818525e29af
BLAKE2b-256 6bcad2c03b0efde47e13db895b975b2be6a73ed90b8ba963677927283d43bf74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp314-cp314t-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 5a932ea8ad5d0430351ff9c76c8db34db0d9f53c1d78f06022a21f4e290c5c18
MD5 04326ffdf1048b7c71d738258639de54
BLAKE2b-256 3c5a874f861f5c3d5ab99633e8030dee1bc113db8e0be299d1f4b07f5b5ec349

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp314-cp314t-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 25b6eb660c5cf4b8c3407a1ed462abba26a926cc9965e164268a3267bcc06a43
MD5 b00a39995f7114abe92afa0dd99b330a
BLAKE2b-256 a6adc62cb60cdd93e13eac5b3d9d6bd5d284225ed0e3329426f94d2552dd7cca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp314-cp314t-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 d0b02e8b7e5874b48ae0f077ecca61c1a6a9f9895e9c6dfb191b55b242862033
MD5 4c98647a1a8606db8f82b4a1db3bdcab
BLAKE2b-256 7157a505927e449a9ccb41e2cc8d735e2abe3444b0213d1cf9cb364a8c1f2524

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6db7bfae0f8a2793ff1f7021468ea55e2699d0790eb58ee6ab36ae43aa00bc5b
MD5 8d3fa1e1dc40b480c7a34634419b6953
BLAKE2b-256 171e9e4ec9b9013931faa32226ec4aa3c71fe664a6d8a2b91ac56442128b332f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 bba2b18d70eeb7b79950f12f633beeecd923f7c9ad6f6bae28e59b4cb3ab046b
MD5 7b3e2604173b9a42c32b523e3462a5b0
BLAKE2b-256 7fbb2dc18c1efd9051cf389cd0d7a3a4d90f6804b9fff3a51b5dc3c85b935f71

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1e496956106fd59ba6322a8ea17141a27c5040e5ee8f9433ae92d4e5204462a0
MD5 7a85fd51c2afeb7f7c5f6c9a01a180d1
BLAKE2b-256 c5c7e22c2aaf0a12e7e22ab19b004bb78d32ca1ecc7ef245949935463c5567de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 180e08a435a0319e6a4821c3468da18dc7001987e1c17ae1335488dfe7518dd8
MD5 2f229352a37ec3ac98a16669c3a0f0c2
BLAKE2b-256 5334daa66a342f0271e7737003abf6c3097aa0498d58c668dbd88362ef94eb5d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 b8cf76f1a29f0e99dcfd7aef1551a9827588aae5a737fe31442021165f1920dc
MD5 b5be11568fd22f9f1edb8800c62e61cb
BLAKE2b-256 45992c8c5ac90dc7d05c6e7d8e72c6a3599dc08cd577ac476898e91ca787d7f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b059e71ec363968671693a78c5053bd9cb2fe410f9b8e4657e88377ebd603a2e
MD5 db75a6a561ce8091e2f4a493d08193b4
BLAKE2b-256 2dbe77e5426cf5948c82f98c53582009ca9e94938c71f73a8918474f2e2990bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c7815afb0ca45456613fdaf60ea9c993715511c8d53a83bc468305cbc0ee23c7
MD5 923ea05db53b7f3236a6dae7a1f234c4
BLAKE2b-256 fb694144b60ed7760a6bd235e4087041f487aa4aa62b45618ce018b0c14833ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp314-cp314t-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 ec0c608b7a7465ffadb344ed7c987ff2f11ee03f6a130b569aa74d8a70e8333c
MD5 142c9353a4db3c93f1819c5c4d120f59
BLAKE2b-256 7bc709441d27ce2a6fa6a61ea3150ea4639c1dcda9b31b2ea07b80d6937b24dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp314-cp314t-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 a5dac14d0872eeb35260a8e30bac07ddf22adc1e3a0635b52b02e180d17c9c7e
MD5 c2c313dd32578a51d22bf23b1828d9ff
BLAKE2b-256 d3eb8389f9e940ac89bcf58d185e230a677b4fd07c5f9b917603ad5c0f8fa8fe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2026.2.28-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 273.4 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.2.28-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 5e68192bb3a1d6fb2836da24aa494e413ea65853a21505e142e5b1064a595f3d
MD5 a83f3652c124818c9d25b15b0fc1fa95
BLAKE2b-256 69f95e1b5652fc0af3fcdf7677e7df3ad2a0d47d669b34ac29a63bb177bb731b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2026.2.28-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 280.5 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.2.28-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 1d367257cd86c1cbb97ea94e77b373a0bbc2224976e247f173d19e8f18b4afa7
MD5 8aaf316203bdd013fe803fd35ff455f4
BLAKE2b-256 91ff90696f535d978d5f16a52a419be2770a8d8a0e7e0cfecdbfc31313df7fab

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2026.2.28-cp314-cp314-win32.whl
  • Upload date:
  • Size: 271.8 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.2.28-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 9036b400b20e4858d56d117108d7813ed07bb7803e3eed766675862131135ca6
MD5 5e95220860b2c860340468123db96f66
BLAKE2b-256 0323da716821277115fcb1f4e3de1e5dc5023a1e6533598c486abf5448612579

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e8c8cb2deba42f5ec1ede46374e990f8adc5e6456a57ac1a261b19be6f28e4e6
MD5 5b56104725b0412819305b0c9e8035d8
BLAKE2b-256 10d8979407faf1397036e25a5ae778157366a911c0f382c62501009f4957cf86

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp314-cp314-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 f467cb602f03fbd1ab1908f68b53c649ce393fde056628dc8c7e634dab6bfc07
MD5 c3261bfa968eece91196522bce657be1
BLAKE2b-256 cfa1bc1c261789283128165f71b71b4b221dd1b79c77023752a6074c102f18d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp314-cp314-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 b389c61aa28a79c2e0527ac36da579869c2e235a5b208a12c5b5318cda2501d8
MD5 8ea546cf1052f339804ecf716d91fd65
BLAKE2b-256 6e7c48c4659ad9da61f58e79dbe8c05223e0006696b603c16eb6b5cbfbb52c27

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp314-cp314-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 0b1d2b07614d95fa2bf8a63fd1e98bd8fa2b4848dc91b1efbc8ba219fdd73952
MD5 3be50f65b1573048c39812308cbde080
BLAKE2b-256 483c736e1c7ca7f0dcd2ae33819888fdc69058a349b7e5e84bc3e2f296bbf794

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7900157786428a79615a8264dac1f12c9b02957c473c8110c6b1f972dcecaddf
MD5 bba05812729126b810210397df309b34
BLAKE2b-256 6ae96e53c34e8068b9deec3e87210086ecb5b9efebdefca6b0d3fa43d66dcecb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 fa539be029844c0ce1114762d2952ab6cfdd7c7c9bd72e0db26b94c3c36dcc5a
MD5 00cad7234cedaeb11601da7440fbd8b7
BLAKE2b-256 965ded6d4cbde80309854b1b9f42d9062fee38ade15f7eb4909f6ef2440403b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dc8ed8c3f41c27acb83f7b6a9eb727a73fc6663441890c5cb3426a5f6a91ce7d
MD5 3b32f19b774b040c2d6f7c5c5423929c
BLAKE2b-256 c77aa8f5e0561702b25239846a16349feece59712ae20598ebb205580332a471

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 b8b3f1be1738feadc69f62daa250c933e85c6f34fa378f54a7ff43807c1b9117
MD5 4370bbd0f22367e1c1fab7cffa189cde
BLAKE2b-256 a01d93ac9bbafc53618091c685c7ed40239a90bf9f2a82c983f0baa97cb7ae07

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 fb1c4ff62277d87a7335f2c1ea4e0387b8f2b3ad88a64efd9943906aafad4f33
MD5 6b8f45e644e98b651b84a9734ab7d1d8
BLAKE2b-256 051b67fb0495a97259925f343ae78b5d24d4a6624356ae138b57f18bd43006e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 09500be324f49b470d907b3ef8af9afe857f5cca486f853853f7945ddbf75911
MD5 355753439c5fc35f19e9a17462e3cdc7
BLAKE2b-256 eb26ee53117066a30ef9c883bf1127eece08308ccf8ccd45c45a966e7a665385

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 19a9c9e0a8f24f39d575a6a854d516b48ffe4cbdcb9de55cb0570a032556ecff
MD5 be53de903b074ed39c83de13d36d8b56
BLAKE2b-256 5a799aa0caf089e8defef9b857b52fc53801f62ff868e19e5c83d4a96612eba1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp314-cp314-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 5d10303dd18cedfd4d095543998404df656088240bcfd3cd20a8f95b861f74bd
MD5 bb67a8e83d181c533a0556a3b4ada29d
BLAKE2b-256 c6ba8db8fd19afcbfa0e1036eaa70c05f20ca8405817d4ad7a38a6b4c2f031ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp314-cp314-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 78454178c7df31372ea737996fb7f36b3c2c92cccc641d251e072478afb4babc
MD5 dc13a1a5851d827723b270352974bf53
BLAKE2b-256 cf03691015f7a7cb1ed6dacb2ea5de5682e4858e05a4c5506b2839cd533bbcd6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2026.2.28-cp313-cp313t-win_arm64.whl
  • Upload date:
  • Size: 271.7 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.2.28-cp313-cp313t-win_arm64.whl
Algorithm Hash digest
SHA256 2fb950ac1d88e6b6a9414381f403797b236f9fa17e1eee07683af72b1634207b
MD5 150d79f3845dcfd02c1967d41a75db8e
BLAKE2b-256 698bfbad9c52e83ffe8f97e3ed1aa0516e6dff6bb633a41da9e64645bc7efdc5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2026.2.28-cp313-cp313t-win_amd64.whl
  • Upload date:
  • Size: 280.7 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.2.28-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 98adf340100cbe6fbaf8e6dc75e28f2c191b1be50ffefe292fb0e6f6eefdb0d8
MD5 508d0f31a885b7ccea368e320ab032f4
BLAKE2b-256 6880ef26ff90e74ceb4051ad6efcbbb8a4be965184a57e879ebcbdef327d18fa

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2026.2.28-cp313-cp313t-win32.whl
Algorithm Hash digest
SHA256 ef77bdde9c9eba3f7fa5b58084b29bbcc74bcf55fdbeaa67c102a35b5bd7e7cc
MD5 632b84190dee5538ebdd6b9c775fa6e7
BLAKE2b-256 69500c7290987f97e7e6830b0d853f69dc4dc5852c934aae63e7fdcd76b4c383

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 aaffaecffcd2479ce87aa1e74076c221700b7c804e48e98e62500ee748f0f550
MD5 d29df6b643052df1141b80d3b8435ade
BLAKE2b-256 0a50414ba0731c4bd40b011fa4703b2cc86879ec060c64f2a906e65a56452589

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp313-cp313t-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 d8511a01d0e4ee1992eb3ba19e09bc1866fe03f05129c3aec3fdc4cbc77aad3f
MD5 cb44690c0113cb08bad532ec08153b13
BLAKE2b-256 029ac5cb10b7aa6f182f9247a30cc9527e326601f46f4df864ac6db588d11fcd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp313-cp313t-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 e1e7b24cb3ae9953a560c563045d1ba56ee4749fbd05cf21ba571069bd7be81b
MD5 13c0b05f835703dd89820634edc316e7
BLAKE2b-256 a7f1b9a25eb24e1cf79890f09e6ec971ee5b511519f1851de3453bc04f6c902b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp313-cp313t-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 99985a2c277dcb9ccb63f937451af5d65177af1efdeb8173ac55b61095a0a05c
MD5 71cb6bf6761b58b56ac75210a5deb7db
BLAKE2b-256 3b1fdadb9cf359004784051c897dcf4d5d79895f73a1bbb7b827abaa4814ae80

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 10d28e19bd4888e4abf43bd3925f3c134c52fdf7259219003588a42e24c2aa25
MD5 f4fae560f5a2d05eb02bdbc0603cf8f8
BLAKE2b-256 95301aa959ed0d25c1dd7dd5047ea8ba482ceaef38ce363c401fd32a6b923e60

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 a448af01e3d8031c89c5d902040b124a5e921a25c4e5e07a861ca591ce429341
MD5 82cab166c1dc639a82874c01ee45483b
BLAKE2b-256 5bcafeedb7055c62a3f7f659971bf45f0e0a87544b6b0cf462884761453f97c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5cdcc17d935c8f9d3f4db5c2ebe2640c332e3822ad5d23c2f8e0228e6947943a
MD5 5bd03c272e23d93b06c50718423e749c
BLAKE2b-256 55c2fd429066da487ef555a9da73bf214894aec77fc8c66a261ee355a69871a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 bec23c11cbbf09a4df32fe50d57cbdd777bc442269b6e39a1775654f1c95dee2
MD5 aa99e88dac225761492cedcd78d40fc3
BLAKE2b-256 fcad2c004509e763c0c3719f97c03eca26473bffb3868d54c5f280b8cd4f9e3d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 00945d007fd74a9084d2ab79b695b595c6b7ba3698972fadd43e23230c6979c1
MD5 2d19b27fcd40725a0fa5b4b2149d7d5d
BLAKE2b-256 04b88d2d987a816720c4f3109cee7c06a4b24ad0e02d4fc74919ab619e543737

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fd0ce43e71d825b7c0661f9c54d4d74bd97c56c3fd102a8985bcfea48236bacb
MD5 b489fe6cf8ee7de4d0158a86f2f23b9c
BLAKE2b-256 b543aabe384ec1994b91796e903582427bc2ffaed9c4103819ed3c16d8e749f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d6cfe798d8da41bb1862ed6e0cba14003d387c3c0c4a5d45591076ae9f0ce2f8
MD5 d9d00da2e1f83eed67dc12e00226d70e
BLAKE2b-256 5b11c301f8cb29ce9644a5ef85104c59244e6e7e90994a0f458da4d39baa8e17

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp313-cp313t-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 0d25a10811de831c2baa6aef3c0be91622f44dd8d31dd12e69f6398efb15e48b
MD5 c8e317ad30f17fca9ab9c0f8e2d551fd
BLAKE2b-256 7c1355eb22ada7f43d4f4bb3815b6132183ebc331c81bd496e2d1f3b8d862e0d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp313-cp313t-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 97054c55db06ab020342cc0d35d6f62a465fa7662871190175f1ad6c655c028f
MD5 1bd20f0607719cd8f7ae40777857d432
BLAKE2b-256 24076c7e4cec1e585959e96cbc24299d97e4437a81173217af54f1804994e911

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2026.2.28-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.2.28-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 39bb5727650b9a0275c6a6690f9bb3fe693a7e6cc5c3155b1240aedf8926423e
MD5 12c11cdb905dde6a21f0e7a625bcbceb
BLAKE2b-256 07b492851335332810c5a89723bf7a7e35c7209f90b7d4160024501717b28cc9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2026.2.28-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 277.3 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.2.28-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 71a911098be38c859ceb3f9a9ce43f4ed9f4c6720ad8684a066ea246b76ad9ff
MD5 9c78be3a0674f4dfe7b3a6a160615975
BLAKE2b-256 854f16e9ebb1fe5425e11b9596c8d57bf8877dcb32391da0bfd33742e3290637

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2026.2.28-cp313-cp313-win32.whl
  • Upload date:
  • Size: 266.4 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.2.28-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 fb66e5245db9652abd7196ace599b04d9c0e4aa7c8f0e2803938377835780081
MD5 daa7c483d5ed1c2bcf8dd417aeadb07e
BLAKE2b-256 903da83e2b6b3daa142acb8c41d51de3876186307d5cb7490087031747662500

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9185cc63359862a6e80fe97f696e04b0ad9a11c4ac0a4a927f979f611bfe3768
MD5 6d3db476b93c3af4240e0cde41ad69ee
BLAKE2b-256 057a51cfbad5758f8edae430cb21961a9c8d04bce1dae4d2d18d4186eec7cfa1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp313-cp313-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 c15af43c72a7fb0c97cbc66fa36a43546eddc5c06a662b64a0cbf30d6ac40944
MD5 809db60ee561ed9717a3333367531d00
BLAKE2b-256 fe6d0009021d97e79ee99f3d8641f0a8d001eed23479ade4c3125a5480bf3e2d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp313-cp313-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 2234059cfe33d9813a3677ef7667999caea9eeaa83fef98eb6ce15c6cf9e0215
MD5 1a6714fa2566b2ca8397557b12e62b2f
BLAKE2b-256 08b72e641f3d084b120ca4c52e8c762a78da0b32bf03ef546330db3e2635dc5f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp313-cp313-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 b5acd4b6a95f37c3c3828e5d053a7d4edaedb85de551db0153754924cb7c83e3
MD5 265d2b2223b9cd1e5f8b9e3879baaff1
BLAKE2b-256 09d3fc51a8a738a49a6b6499626580554c9466d3ea561f2b72cfdc72e4149773

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 96f6269a2882fbb0ee76967116b83679dc628e68eaea44e90884b8d53d833881
MD5 ed9aa1298cd27d22035371180dd2fdd2
BLAKE2b-256 d1a89a92935878aba19bd72706b9db5646a6f993d99b3f6ed42c02ec8beb1d61

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 4f5c0b182ad4269e7381b7c27fdb0408399881f7a92a4624fd5487f2971dfc11
MD5 925e2d2753c2779f468a01b2c310903c
BLAKE2b-256 7da5512fb9ff7f5b15ea204bb1967ebb649059446decacccb201381f9fa6aad4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e61eea47230eba62a31f3e8a0e3164d0f37ef9f40529fb2c79361bc6b53d2a92
MD5 a31951b93811cec03319a0ebf8721e89
BLAKE2b-256 122f049901def913954e640d199bbc6a7ca2902b6aeda0e5da9d17f114100ec2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 69fc560ccbf08a09dc9b52ab69cacfae51e0ed80dc5693078bdc97db2f91ae96
MD5 d0234986bfb1a06233978b0ca8b94ed7
BLAKE2b-256 ae54aeaf4afb1aa0a65e40de52a61dc2ac5b00a83c6cb081c8a1d0dda74f3010

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 52b017b35ac2214d0db5f4f90e303634dc44e4aba4bd6235a27f97ecbe5b0472
MD5 8fdb88954f239398f04a3e58c342fcf7
BLAKE2b-256 248726bd03efc60e0d772ac1e7b60a2e6325af98d974e2358f659c507d3c76db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fb4db2f17e6484904f986c5a657cec85574c76b5c5e61c7aae9ffa1bc6224f95
MD5 5b1af875b766e5000fc462464ec6f6ef
BLAKE2b-256 1d1b7cc3b7af4c244c204b7a80924bd3d85aecd9ba5bc82b485c5806ee8cda9e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 de0cf053139f96219ccfabb4a8dd2d217c8c82cb206c91d9f109f3f552d6b43d
MD5 7be2f26f51afff0ed0dd5491195a867e
BLAKE2b-256 d2a6ba1068a631ebd71a230e7d8013fcd284b7c89c35f46f34a7da02082141b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 e59bc8f30414d283ae8ee1617b13d8112e7135cb92830f0ec3688cb29152585a
MD5 3b8b372985123ae4fe0801419ea3ad46
BLAKE2b-256 95c8c20390f2232d3f7956f420f4ef1852608ad57aa26c3dd78516cb9f3dc913

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 6d63a07e5ec8ce7184452cb00c41c37b49e67dc4f73b2955b5b8e782ea970784
MD5 63776e0601f04f3a792ff00ce63a9e41
BLAKE2b-256 87f6dc9ef48c61b79c8201585bf37fa70cd781977da86e466cd94e8e95d2443b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2026.2.28-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.2.28-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 c0b5ccbb8ffb433939d248707d4a8b31993cb76ab1a0187ca886bf50e96df952
MD5 5b934a0c76f26c7f1967bcca958aaf17
BLAKE2b-256 b7f058a2484851fadf284458fdbd728f580d55c1abac059ae9f048c63b92f427

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2026.2.28-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 277.3 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.2.28-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 01d65fd24206c8e1e97e2e31b286c59009636c022eb5d003f52760b0f42155d4
MD5 82029dfe8a8a08c255b92a3a333b0535
BLAKE2b-256 fa062a6f7dff190e5fa9df9fb4acf2fdf17a1aa0f7f54596cba8de608db56b3a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2026.2.28-cp312-cp312-win32.whl
  • Upload date:
  • Size: 266.4 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.2.28-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 f8ed9a5d4612df9d4de15878f0bc6aa7a268afbe5af21a3fdd97fa19516e978c
MD5 72dfa0d7ac13f295c6ab68eb7b67b4ac
BLAKE2b-256 7692abc706c1fb03b4580a09645b206a3fc032f5a9f457bc1a8038ac555658ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cb3b1db8ff6c7b8bf838ab05583ea15230cb2f678e569ab0e3a24d1e8320940b
MD5 4f08f099ea825e1059efbfa1bfcc8119
BLAKE2b-256 1d913233d03b5f865111cd517e1c95ee8b43e8b428d61fa73764a80c9bb6f537

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp312-cp312-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 4390c365fd2d45278f45afd4673cb90f7285f5701607e3ad4274df08e36140ae
MD5 b8801fda447fe64a619913c77d6cffe4
BLAKE2b-256 8e3229ea5e27400ee86d2cc2b4e80aa059df04eaf78b4f0c18576ae077aeff68

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp312-cp312-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 8710d61737b0c0ce6836b1da7109f20d495e49b3809f30e27e9560be67a257bf
MD5 79c202ad4bf3eaf27e7d0b5e2add8e96
BLAKE2b-256 7cf46b65c979bb6d09f51bb2d2a7bc85de73c01ec73335d7ddd202dcb8cd1c8f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp312-cp312-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 b42f7466e32bf15a961cf09f35fa6323cc72e64d3d2c990b10de1274a5da0a59
MD5 03b6a66ab39ef998f1c4c6563227ed03
BLAKE2b-256 ccbf2c72ab5d8b7be462cb1651b5cc333da1d0068740342f350fcca3bca31947

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 511f7419f7afab475fd4d639d4aedfc54205bcb0800066753ef68a59f0f330b5
MD5 aa3b954987798f97207f6c7bdf8fa2a0
BLAKE2b-256 dc8d4a9368d168d47abd4158580b8c848709667b1cd293ff0c0c277279543bd0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 864cdd1a2ef5716b0ab468af40139e62ede1b3a53386b375ec0786bb6783fc05
MD5 92721a79cfaa5b8c8c1f041e678e9be4
BLAKE2b-256 447cc6d91d8911ac6803b45ca968e8e500c46934e58c0903cbc6d760ee817a0a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d6b08a06976ff4fb0d83077022fde3eca06c55432bb997d8c0495b9a4e9872f4
MD5 e581848ef24d38cdb47b57512c7ac164
BLAKE2b-256 9e40bb226f203caa22c1043c1ca79b36340156eca0f6a6742b46c3bb222a3a57

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 64e7c6ad614573e0640f271e811a408d79a9e1fe62a46adb602f598df42a818d
MD5 4dd43f8786562c2daee0f5697eab77c6
BLAKE2b-256 026df3ecad537ca2811b4d26b54ca848cf70e04fcfc138667c146a9f3157779c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 481df4623fa4969c8b11f3433ed7d5e3dc9cec0f008356c3212b3933fb77e3d8
MD5 674bfeaaaa7e5b497a42ad1174b9722f
BLAKE2b-256 e95d57702597627fc23278ebf36fbb497ac91c0ce7fec89ac6c81e420ca3e38c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e71dcecaa113eebcc96622c17692672c2d104b1d71ddf7adeda90da7ddeb26fc
MD5 817bcfd8fe4b58a9a91bd588f0f19b6e
BLAKE2b-256 ddc98cc8d850b35ab5650ff6756a1cb85286e2000b66c97520b29c1587455344

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9b65d33a17101569f86d9c5966a8b1d7fbf8afdda5a8aa219301b0a80f58cf7d
MD5 47e2b82e866a4218bb35f77cded851ab
BLAKE2b-256 9e063ef1ac6910dc3295ebd71b1f9bfa737e82cfead211a18b319d45f85ddd09

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 02473c954af35dd2defeb07e44182f5705b30ea3f351a7cbffa9177beb14da5d
MD5 761fb804770906a29ef94e356a7933f5
BLAKE2b-256 77830c8a5623a233015595e3da499c5a1c13720ac63c107897a6037bb97af248

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 fcf26c3c6d0da98fada8ae4ef0aa1c3405a431c0a77eb17306d38a89b02adcd7
MD5 3846756e72af611ac1eb62638820794d
BLAKE2b-256 07429061b03cf0fc4b5fa2c3984cbbaed54324377e440a5c5a29d29a72518d62

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2026.2.28-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 270.3 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.2.28-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 00f2b8d9615aa165fdff0a13f1a92049bfad555ee91e20d246a51aa0b556c60a
MD5 6659a00e4f63824296080a02ce2a09cc
BLAKE2b-256 a436abec45dc6e7252e3dbc797120496e43bb5730a7abf0d9cb69340696a2f2d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2026.2.28-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fd63453f10d29097cc3dc62d070746523973fb5aa1c66d25f8558bebd47fed61
MD5 c93dd925ea527082f76c7109737cb29f
BLAKE2b-256 428b1483de1c57024e89296cbcceb9cccb3f625d416ddb46e570be185c9b05a9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2026.2.28-cp311-cp311-win32.whl
  • Upload date:
  • Size: 266.0 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.2.28-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 948c12ef30ecedb128903c2c2678b339746eb7c689c5c21957c4a23950c96d15
MD5 5374da4a5d5bc33f84ce4bf2c3200dbc
BLAKE2b-256 a95968691428851cf9c9c3707217ab1d9b47cfeec9d153a49919e6c368b9e926

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 edb1b1b3a5576c56f08ac46f108c40333f222ebfd5cf63afdfa3aab0791ebe5b
MD5 571f9c9c034698c6cedff846f8e5e2dd
BLAKE2b-256 8aa7428a135cf5e15e4e11d1e696eb2bf968362f8ea8a5f237122e96bc2ae950

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp311-cp311-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 ba55c50f408fb5c346a3a02d2ce0ebc839784e24f7c9684fde328ff063c3cdea
MD5 102c5949f4bf5110bdec40c2dd0ee41a
BLAKE2b-256 89bdd4f2e75cb4a54b484e796017e37c0d09d8a0a837de43d17e238adf163f4e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp311-cp311-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 50c2fc924749543e0eacc93ada6aeeb3ea5f6715825624baa0dccaec771668ae
MD5 b005f1a86b73108bd3b4217fe0bfe300
BLAKE2b-256 21ffa96d483ebe8fe6d1c67907729202313895d8de8495569ec319c6f29d0438

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp311-cp311-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 ec6f5674c5dc836994f50f1186dd1fafde4be0666aae201ae2fcc3d29d8adf27
MD5 01d2098e1e3143d319e46da20e3ac8b4
BLAKE2b-256 76390b8d7efb256ae34e1b8157acc1afd8758048a1cf0196e1aec2e71fd99f4b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 03a83cc26aa2acda6b8b9dfe748cf9e84cbd390c424a1de34fdcef58961a297a
MD5 3b17fc700a819af91ed3ded74f64bf5c
BLAKE2b-256 10e75da0280c765d5a92af5e1cd324b3fe8464303189cbaa449de9a71910e273

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 f2791948f7c70bb9335a9102df45e93d428f4b8128020d85920223925d73b9e1
MD5 a51c7661e1c42c3d631e1c6c709f38dd
BLAKE2b-256 34b36e6a4b7b31fa998c4cf159a12cbeaf356386fbd1a8be743b1e80a3da51e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e7ce83654d1ab701cb619285a18a8e5a889c1216d746ddc710c914ca5fd71022
MD5 9671e18b969d9ddb26d3d4c39ccbb43c
BLAKE2b-256 2c73a72820f47ca5abf2b5d911d0407ba5178fc52cf9780191ed3a54f5f419a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 516604edd17b1c2c3e579cf4e9b25a53bf8fa6e7cedddf1127804d3e0140ca64
MD5 8ca50a9a652be8ecbc321c618938f1cc
BLAKE2b-256 b37c393c94cbedda79a0f5f2435ebd01644aba0b338d327eb24b4aa5b8d6c07f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 851fa70df44325e1e4cdb79c5e676e91a78147b1b543db2aec8734d2add30ec2
MD5 c13ca24e7a80ecb7ebcee7c88095c337
BLAKE2b-256 0f57f0235cc520d9672742196c5c15098f8f703f2758d48d5a7465a56333e496

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7c1b34dfa72f826f535b20712afa9bb3ba580020e834f3c69866c5bddbf10098
MD5 2e8f4a4740aae76c8dd6fb074515cd04
BLAKE2b-256 9c02291c0ae3f3a10cea941d0f5366da1843d8d1fa8a25b0671e20a0e454bb38

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bcb399ed84eabf4282587ba151f2732ad8168e66f1d3f85b1d038868fe547703
MD5 4149aa39ce57b5864edcf2d9e46e1ce4
BLAKE2b-256 62b96796b3bf3101e64117201aaa3a5a030ec677ecf34b3cd6141b5d5c6c67d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0d5bef2031cbf38757a0b0bc4298bb4824b6332d28edc16b39247228fbdbad97
MD5 c2a71b275feb6dda0178be9f633ae1c7
BLAKE2b-256 5d10ccc22c52802223f2368731964ddd117799e1390ffc39dbb31634a83022ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 e621fb7c8dc147419b28e1702f58a0177ff8308a76fa295c71f3e7827849f5d9
MD5 06cf916cf64086ccb8ce59f4b2bbdfc0
BLAKE2b-256 04db8cbfd0ba3f302f2d09dd0019a9fcab74b63fee77a76c937d0e33161fb8c1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2026.2.28-cp310-cp310-win_arm64.whl
  • Upload date:
  • Size: 270.3 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.2.28-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 73cdcdbba8028167ea81490c7f45280113e41db2c7afb65a276f4711fa3bcbff
MD5 57ee912f68c4537885d7268a46dfbfb7
BLAKE2b-256 c34d29b58172f954b6ec2c5ed28529a65e9026ab96b4b7016bcd3858f1c31d3c

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2026.2.28-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 dd8847c4978bc3c7e6c826fb745f5570e518b8459ac2892151ce6627c7bc00d5
MD5 07595f571d0aeae712e2f2d2088f9a61
BLAKE2b-256 4d0a205c4c1466a36e04d90afcd01d8908bac327673050c7fe316b2416d99d3d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2026.2.28-cp310-cp310-win32.whl
  • Upload date:
  • Size: 266.0 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.2.28-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 1f8b17be5c27a684ea6759983c13506bd77bfc7c0347dff41b18ce5ddd2ee09a
MD5 318c65a3a6e087c345e7d663fa0b5c44
BLAKE2b-256 3c21e5a38f420af3c77cab4a65f0c3a55ec02ac9babf04479cfd282d356988a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2954379dd20752e82d22accf3ff465311cbb2bac6c1f92c4afd400e1757f7451
MD5 c67341d069096c21f2e7243c2dd25ec1
BLAKE2b-256 46a74cc94fd3af01dcfdf5a9ed75c8e15fd80fcd62cc46da7592b1749e9c35db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp310-cp310-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 9dd450db6458387167e033cfa80887a34c99c81d26da1bf8b0b41bf8c9cac88e
MD5 d931837c86567ef6f28fa5a639351958
BLAKE2b-256 dabc91c22f384d79324121b134c267a86ca90d11f8016aafb1dc5bee05890ee3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp310-cp310-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 a25c7701e4f7a70021db9aaf4a4a0a67033c6318752146e03d1b94d32006217e
MD5 a909b5430717006d9565351cd252b366
BLAKE2b-256 54128db04a334571359f4d127d8f89550917ec6561a2fddfd69cd91402b47482

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp310-cp310-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 b49eb78048c6354f49e91e4b77da21257fecb92256b6d599ae44403cab30b05b
MD5 5e4723255dfd9f48f3ad8b90da48a379
BLAKE2b-256 72f83f9c2c2af37aedb3f5a1e7227f81bea065028785260d9cacc488e43e6997

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 bd477d5f79920338107f04aa645f094032d9e3030cc55be581df3d1ef61aa318
MD5 cb83530a90c5188312b817de40b10061
BLAKE2b-256 3dafa650f64a79c02a97f73f64d4e7fc4cc1984e64affab14075e7c1f9a2db34

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 3b24bd7e9d85dc7c6a8bd2aa14ecd234274a0248335a02adeb25448aecdd420d
MD5 927693b7eb00427de3b5d74b68736564
BLAKE2b-256 3954f95cb7a85fe284d41cd2f3625e0f2ae30172b55dfd2af1d9b4eaef6259d7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 2b2b23587b26496ff5fd40df4278becdf386813ec00dc3533fa43a4cf0e2ad3c
MD5 37ed479eba112bac8103819d19e10682
BLAKE2b-256 f53496631bcf446a56ba0b2a7f684358a76855dfe315b7c2f89b35388494ede0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3935174fa4d9f70525a4367aaff3cb8bc0548129d114260c29d9dfa4a5b41692
MD5 5fbda453866a0573ea280e296a87a1b0
BLAKE2b-256 46b5f30d7d3936d6deecc3ea7bea4f7d3c5ee5124e7c8de372226e436b330a55

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 b387a0d092dac157fb026d737dde35ff3e49ef27f285343e7c6401851239df27
MD5 1448158af82ba87328d5182b1ee391d3
BLAKE2b-256 a9289ca180fb3787a54150209754ac06a42409913571fa94994f340b3bba4e1e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 195237dc327858a7721bf8b0bbbef797554bc13563c3591e91cd0767bacbe359
MD5 18aee8f46085b2135d40073cc091d68e
BLAKE2b-256 aa306fa55bef48090f900fbd4649333791fc3e6467380b9e775e741beeb3231f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 94d63db12e45a9b9f064bfe4800cefefc7e5f182052e4c1b774d46a40ab1d9bb
MD5 79761f9ab54320567996ded67f89984f
BLAKE2b-256 18c565379448ca3cbfe774fcc33774dc8295b1ee97dc3237ae3d3c7b27423c9d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7ab218076eb0944549e7fe74cf0e2b83a82edb27e81cc87411f76240865e04d5
MD5 97abbf26b76551c5c8eb6978bdc2bfec
BLAKE2b-256 a6bab27feefffbb199528dd32667cd172ed484d9c197618c575f01217fbe6103

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2afa673660928d0b63d84353c6c08a8a476ddfc4a47e11742949d182e6863ce8
MD5 226f07593b5cf5f39f96474736edcf73
BLAKE2b-256 32f98a0034716684e38a729210ded6222249f29978b24b684f448162ef21f204

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2026.2.28-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 fc48c500838be6882b32748f60a15229d2dea96e59ef341eaa96ec83538f498d
MD5 94b0899c977017ce4847b2ab86de7ecf
BLAKE2b-256 70b8845a927e078f5e5cc55d29f57becbfde0003d52806544531ab3f2da4503c

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