Skip to main content

Alternative regular expression module, to replace re.

Project description

Introduction

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

Python 2

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

PyPy

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

Multithreading

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

Unicode

This module supports Unicode 16.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-2024.9.11.tar.gz (399.4 kB view details)

Uploaded Source

Built Distributions

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

regex-2024.9.11-cp313-cp313-win_amd64.whl (273.5 kB view details)

Uploaded CPython 3.13Windows x86-64

regex-2024.9.11-cp313-cp313-win32.whl (262.0 kB view details)

Uploaded CPython 3.13Windows x86

regex-2024.9.11-cp313-cp313-musllinux_1_2_x86_64.whl (787.4 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

regex-2024.9.11-cp313-cp313-musllinux_1_2_s390x.whl (859.6 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ s390x

regex-2024.9.11-cp313-cp313-musllinux_1_2_ppc64le.whl (860.4 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ppc64le

regex-2024.9.11-cp313-cp313-musllinux_1_2_i686.whl (790.3 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

regex-2024.9.11-cp313-cp313-musllinux_1_2_aarch64.whl (782.5 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

regex-2024.9.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (797.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

regex-2024.9.11-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl (823.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ s390x

regex-2024.9.11-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (835.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ppc64le

regex-2024.9.11-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (795.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

regex-2024.9.11-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (784.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

regex-2024.9.11-cp313-cp313-macosx_11_0_arm64.whl (284.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

regex-2024.9.11-cp313-cp313-macosx_10_13_x86_64.whl (288.1 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

regex-2024.9.11-cp313-cp313-macosx_10_13_universal2.whl (483.4 kB view details)

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

regex-2024.9.11-cp312-cp312-win_amd64.whl (273.5 kB view details)

Uploaded CPython 3.12Windows x86-64

regex-2024.9.11-cp312-cp312-win32.whl (262.1 kB view details)

Uploaded CPython 3.12Windows x86

regex-2024.9.11-cp312-cp312-musllinux_1_2_x86_64.whl (787.3 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

regex-2024.9.11-cp312-cp312-musllinux_1_2_s390x.whl (859.4 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ s390x

regex-2024.9.11-cp312-cp312-musllinux_1_2_ppc64le.whl (860.2 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ppc64le

regex-2024.9.11-cp312-cp312-musllinux_1_2_i686.whl (790.3 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

regex-2024.9.11-cp312-cp312-musllinux_1_2_aarch64.whl (782.5 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

regex-2024.9.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (797.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

regex-2024.9.11-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (823.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ s390x

regex-2024.9.11-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (835.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ppc64le

regex-2024.9.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (795.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

regex-2024.9.11-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (784.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

regex-2024.9.11-cp312-cp312-macosx_11_0_arm64.whl (284.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

regex-2024.9.11-cp312-cp312-macosx_10_9_x86_64.whl (288.2 kB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

regex-2024.9.11-cp312-cp312-macosx_10_9_universal2.whl (483.6 kB view details)

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

regex-2024.9.11-cp311-cp311-win_amd64.whl (274.0 kB view details)

Uploaded CPython 3.11Windows x86-64

regex-2024.9.11-cp311-cp311-win32.whl (261.6 kB view details)

Uploaded CPython 3.11Windows x86

regex-2024.9.11-cp311-cp311-musllinux_1_2_x86_64.whl (781.9 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

regex-2024.9.11-cp311-cp311-musllinux_1_2_s390x.whl (855.9 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ s390x

regex-2024.9.11-cp311-cp311-musllinux_1_2_ppc64le.whl (853.7 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ppc64le

regex-2024.9.11-cp311-cp311-musllinux_1_2_i686.whl (784.6 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

regex-2024.9.11-cp311-cp311-musllinux_1_2_aarch64.whl (778.2 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

regex-2024.9.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (792.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

regex-2024.9.11-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (818.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ s390x

regex-2024.9.11-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (832.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ppc64le

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

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

regex-2024.9.11-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (781.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

regex-2024.9.11-cp311-cp311-macosx_11_0_arm64.whl (284.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

regex-2024.9.11-cp311-cp311-macosx_10_9_x86_64.whl (287.4 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

regex-2024.9.11-cp311-cp311-macosx_10_9_universal2.whl (482.5 kB view details)

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

regex-2024.9.11-cp310-cp310-win_amd64.whl (274.0 kB view details)

Uploaded CPython 3.10Windows x86-64

regex-2024.9.11-cp310-cp310-win32.whl (261.6 kB view details)

Uploaded CPython 3.10Windows x86

regex-2024.9.11-cp310-cp310-musllinux_1_2_x86_64.whl (773.9 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

regex-2024.9.11-cp310-cp310-musllinux_1_2_s390x.whl (845.4 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ s390x

regex-2024.9.11-cp310-cp310-musllinux_1_2_ppc64le.whl (845.4 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ppc64le

regex-2024.9.11-cp310-cp310-musllinux_1_2_i686.whl (777.5 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

regex-2024.9.11-cp310-cp310-musllinux_1_2_aarch64.whl (769.2 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

regex-2024.9.11-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (810.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ s390x

regex-2024.9.11-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (823.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ppc64le

regex-2024.9.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (783.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

regex-2024.9.11-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (697.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.12+ x86-64manylinux: glibc 2.5+ x86-64

regex-2024.9.11-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (772.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

regex-2024.9.11-cp310-cp310-macosx_11_0_arm64.whl (284.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

regex-2024.9.11-cp310-cp310-macosx_10_9_x86_64.whl (287.4 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

regex-2024.9.11-cp310-cp310-macosx_10_9_universal2.whl (482.5 kB view details)

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

regex-2024.9.11-cp39-cp39-win_amd64.whl (274.1 kB view details)

Uploaded CPython 3.9Windows x86-64

regex-2024.9.11-cp39-cp39-win32.whl (261.7 kB view details)

Uploaded CPython 3.9Windows x86

regex-2024.9.11-cp39-cp39-musllinux_1_2_x86_64.whl (773.4 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

regex-2024.9.11-cp39-cp39-musllinux_1_2_s390x.whl (844.9 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ s390x

regex-2024.9.11-cp39-cp39-musllinux_1_2_ppc64le.whl (845.0 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ppc64le

regex-2024.9.11-cp39-cp39-musllinux_1_2_i686.whl (776.9 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ i686

regex-2024.9.11-cp39-cp39-musllinux_1_2_aarch64.whl (768.7 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

regex-2024.9.11-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (809.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ s390x

regex-2024.9.11-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (822.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ppc64le

regex-2024.9.11-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (782.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

regex-2024.9.11-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (697.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.12+ x86-64manylinux: glibc 2.5+ x86-64

regex-2024.9.11-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (771.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

regex-2024.9.11-cp39-cp39-macosx_11_0_arm64.whl (284.6 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

regex-2024.9.11-cp39-cp39-macosx_10_9_x86_64.whl (287.4 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

regex-2024.9.11-cp39-cp39-macosx_10_9_universal2.whl (482.5 kB view details)

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

regex-2024.9.11-cp38-cp38-win_amd64.whl (274.1 kB view details)

Uploaded CPython 3.8Windows x86-64

regex-2024.9.11-cp38-cp38-win32.whl (261.7 kB view details)

Uploaded CPython 3.8Windows x86

regex-2024.9.11-cp38-cp38-musllinux_1_2_x86_64.whl (775.2 kB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

regex-2024.9.11-cp38-cp38-musllinux_1_2_s390x.whl (846.4 kB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ s390x

regex-2024.9.11-cp38-cp38-musllinux_1_2_ppc64le.whl (846.1 kB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ ppc64le

regex-2024.9.11-cp38-cp38-musllinux_1_2_i686.whl (777.2 kB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ i686

regex-2024.9.11-cp38-cp38-musllinux_1_2_aarch64.whl (771.1 kB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ ARM64

regex-2024.9.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (785.0 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

regex-2024.9.11-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (810.5 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ s390x

regex-2024.9.11-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (824.3 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ppc64le

regex-2024.9.11-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (784.4 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

regex-2024.9.11-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (702.5 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64manylinux: glibc 2.5+ x86-64

regex-2024.9.11-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (774.3 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

regex-2024.9.11-cp38-cp38-macosx_11_0_arm64.whl (284.6 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

regex-2024.9.11-cp38-cp38-macosx_10_9_x86_64.whl (287.5 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

regex-2024.9.11-cp38-cp38-macosx_10_9_universal2.whl (482.6 kB view details)

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

File details

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

File metadata

  • Download URL: regex-2024.9.11.tar.gz
  • Upload date:
  • Size: 399.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for regex-2024.9.11.tar.gz
Algorithm Hash digest
SHA256 6c188c307e8433bcb63dc1915022deb553b4203a70722fc542c363bf120a01fd
MD5 a544771359e2c977578297506de829eb
BLAKE2b-256 f938148df33b4dbca3bd069b963acab5e0fa1a9dbd6820f8c322d0dd6faeff96

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2024.9.11-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 273.5 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for regex-2024.9.11-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 042c55879cfeb21a8adacc84ea347721d3d83a159da6acdf1116859e2427c43f
MD5 53f5762f5c3a5ddadd77a2d049856046
BLAKE2b-256 ff8051ba3a4b7482f6011095b3a036e07374f64de180b7d870b704ed22509002

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2024.9.11-cp313-cp313-win32.whl
  • Upload date:
  • Size: 262.0 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for regex-2024.9.11-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 e997fd30430c57138adc06bba4c7c2968fb13d101e57dd5bb9355bf8ce3fa7e8
MD5 5d910fbeb8a72c1c381b6d4b831f9602
BLAKE2b-256 583af5903977647a9a7e46d5535e9e96c194304aeeca7501240509bde2f9e17f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6a2644a93da36c784e546de579ec1806bfd2763ef47babc1b03d765fe560c9f8
MD5 f7491b60735ca063011fd00c6d886553
BLAKE2b-256 127f8398c8155a3c70703a8e91c29532558186558e1aea44144b382faa2a6f7a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp313-cp313-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 eee9130eaad130649fd73e5cd92f60e55708952260ede70da64de420cdcad554
MD5 c9aa89cc6f9d6df32c8d695d923a2eb4
BLAKE2b-256 344f5d04da61c7c56e785058a46349f7285ae3ebc0726c6ea7c5c70600a52233

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp313-cp313-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 dd4490a33eb909ef5078ab20f5f000087afa2a4daa27b4c072ccb3cb3050ad84
MD5 f9f6bbdf831d8cf113536ec61fe48a1c
BLAKE2b-256 191d43ed03a236313639da5a45e61bc553c8d41e925bcf29b0f8ecff0c2c3f25

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 f8404bf61298bb6f8224bb9176c1424548ee1181130818fcd2cbffddc768bed8
MD5 f75f5383483b720213a33b21ce850808
BLAKE2b-256 12d9cbc30f2ff7164f3b26a7760f87c54bf8b2faed286f60efd80350a51c5b99

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c57d08ad67aba97af57a7263c2d9006d5c404d721c5f7542f077f109ec2a4a29
MD5 d01ce783e367e3c6bbc6745311b0832f
BLAKE2b-256 d85cd2429be49ef3292def7688401d3deb11702c13dcaecdc71d2b407421275b

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0ea51dcc0835eea2ea31d66456210a4e01a076d820e9039b04ae8d17ac11dee6
MD5 df29909eec984b4b8bc747590d985f17
BLAKE2b-256 f810601303b8ee93589f879664b0cfd3127949ff32b17f9b6c490fb201106c4d

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 9d4a76b96f398697fe01117093613166e6aa8195d63f1b4ec3f21ab637632963
MD5 5acccd4077fdc0b02196e9a0af81d31b
BLAKE2b-256 cd9e187363bdf5d8c0e4662117b92aa32bf52f8f09620ae93abc7537d96d3311

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 f47cd43a5bfa48f86925fe26fbdd0a488ff15b62468abb5d2a1e092a4fb10e85
MD5 21d50b1e031651d9bbb7733ad2899554
BLAKE2b-256 b2e76b2f642c3cded271c4f16cc4daa7231be544d30fe2b168e0223724b49a61

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 eb1ae19e64c14c7ec1995f40bd932448713d3c73509e82d8cd7744dc00e29e86
MD5 545a9dba41a1370cf679500a27938f3a
BLAKE2b-256 b9549fe8f9aec5007bbbbce28ba3d2e3eaca425f95387b7d1e84f0d137d25237

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b7aaa315101c6567a9a45d2839322c51c8d6e81f67683d529512f5bcfb99c802
MD5 e5752e058119aac78ea7c0d2f582a2af
BLAKE2b-256 ef1cea200f61ce9f341763f2717ab4daebe4422d83e9fd4ac5e33435fd3a148d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 220e92a30b426daf23bb67a7962900ed4613589bab80382be09b48896d211e92
MD5 7290bfcb5452091bff71d600086e604c
BLAKE2b-256 8d560c262aff0e9224fa7ffce47b5458d373f4d3e3ff84e99b5ff0cb15e0b5b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 4db21ece84dfeefc5d8a3863f101995de646c6cb0536952c321a2650aa202c36
MD5 124a94e8ec2bd8d3536ca516f2314e30
BLAKE2b-256 a4425910a050c105d7f750a72dcb49c30220c3ae4e2654e54aaaa0e9bc0584cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 c157bb447303070f256e084668b702073db99bbb61d44f85d811025fcf38f784
MD5 0846b3c8b6236bdcd86d1fea06aae627
BLAKE2b-256 930ad1c6b9af1ff1e36832fe38d74d5c5bab913f2bdcbbd6bc0e7f3ce8b2f577

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2024.9.11-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 273.5 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for regex-2024.9.11-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9e8719792ca63c6b8340380352c24dcb8cd7ec49dae36e963742a275dfae6009
MD5 fab45a04e820246c028fb820969886be
BLAKE2b-256 6e16efc5f194778bf43e5888209e5cec4b258005d37c613b67ae137df3b89c53

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2024.9.11-cp312-cp312-win32.whl
  • Upload date:
  • Size: 262.1 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for regex-2024.9.11-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 e464b467f1588e2c42d26814231edecbcfe77f5ac414d92cbf4e7b55b2c2a776
MD5 a1ab8cb71eac80bd4fe5503287b6ca02
BLAKE2b-256 bc4eba1cbca93141f7416624b3ae63573e785d4bc1834c8be44a8f0747919eca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 18406efb2f5a0e57e3a5881cd9354c1512d3bb4f5c45d96d110a66114d84d23a
MD5 e8dcac130ec900aff08bec225fc7bb83
BLAKE2b-256 ea759753e9dcebfa7c3645563ef5c8a58f3a47e799c872165f37c55737dadd3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp312-cp312-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 a0b2b80321c2ed3fcf0385ec9e51a12253c50f146fddb2abbb10f033fe3d049a
MD5 b0bc0784def1f899e09b985ed78ce4d2
BLAKE2b-256 8111e1bdf84a72372e56f1ea4b833dd583b822a23138a616ace7ab57a0e11556

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp312-cp312-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 d552c78411f60b1fdaafd117a1fca2f02e562e309223b9d44b7de8be451ec5e0
MD5 e2f92678e7da6f49eebe904455c2ee24
BLAKE2b-256 9c71eff77d3fe7ba08ab0672920059ec30d63fa7e41aa0fb61c562726e9bd721

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 57fdd2e0b2694ce6fc2e5ccf189789c3e2962916fb38779d3e3521ff8fe7a822
MD5 c9686b40d64b1d1a07d608c98157bf02
BLAKE2b-256 d36715519d69b52c252b270e679cb578e22e0c02b8dd4e361f2b04efcc7f2335

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 98eeee2f2e63edae2181c886d7911ce502e1292794f4c5ee71e60e23e8d26b5d
MD5 0ef0e4bfeac0f76d368eefd607fa6331
BLAKE2b-256 6f753ea7ec29de0bbf42f21f812f48781d41e627d57a634f3f23947c9a46e303

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 85ab7824093d8f10d44330fe1e6493f756f252d145323dd17ab6b48733ff6c0a
MD5 cb47f8dae5ecfbca542d60e16a63db9e
BLAKE2b-256 295284662b6636061277cb857f658518aa7db6672bc6d1a3f503ccd5aefc581e

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 23b30c62d0f16827f2ae9f2bb87619bc4fba2044911e2e6c2eb1af0161cdb766
MD5 e3503e8c3c62bb09b5e1a6fc5d3818fb
BLAKE2b-256 e39486adc259ff8ec26edf35fcca7e334566c1805c7493b192cb09679f9c3dee

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 a8f877c89719d759e52783f7fe6e1c67121076b87b40542966c02de5503ace42
MD5 368c660557d581475bff6ee0f57bdf6c
BLAKE2b-256 28db63047feddc3280cc242f9c74f7aeddc6ee662b1835f00046f57d5630c827

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ee439691d8c23e76f9802c42a95cfeebf9d47cf4ffd06f18489122dbb0a7ad64
MD5 2c610909537922a6a7951781333ad839
BLAKE2b-256 cafa521eb683b916389b4975337873e66954e0f6d8f91bd5774164a57b503185

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8dee5b4810a89447151999428fe096977346cf2f29f4d5e29609d2e19e0199c9
MD5 61ef6ba928222393b07ccd30a554b27f
BLAKE2b-256 c32acd4675dd987e4a7505f0364a958bc41f3b84942de9efaad0ef9a2646681c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5b513b6997a0b2f10e4fd3a1313568e373926e8c252bd76c960f96fd039cd28d
MD5 71591040dda03d811d1e2138c5dd42aa
BLAKE2b-256 8aea909d8620329ab710dfaf7b4adee41242ab7c9b95ea8d838e9bfe76244259

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 49b0e06786ea663f933f3710a51e9385ce0cba0ea56b67107fd841a55d56a231
MD5 bc51049f813c815479e23d65be8caead
BLAKE2b-256 8ea2048acbc5ae1f615adc6cba36cc45734e679b5f1e4e58c3c77f0ed611d4e2

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 b0d0a6c64fcc4ef9c69bd5b3b3626cc3776520a1637d8abaa62b9edc147a58f7
MD5 6bdd8bcae17be3c7b5f60bbc8d19f01f
BLAKE2b-256 6e92407531450762bed778eedbde04407f68cbd75d13cee96c6f8d6903d9c6c1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2024.9.11-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 274.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for regex-2024.9.11-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 313ea15e5ff2a8cbbad96ccef6be638393041b0a7863183c2d31e0c6116688cf
MD5 f8fcaa829d721a132d24e0df089be261
BLAKE2b-256 c7ab1ad2511cf6a208fde57fafe49829cab8ca018128ab0d0b48973d8218634a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2024.9.11-cp311-cp311-win32.whl
  • Upload date:
  • Size: 261.6 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for regex-2024.9.11-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 18e707ce6c92d7282dfce370cd205098384b8ee21544e7cb29b8aab955b66fa9
MD5 66adca9ca83c07a91bc36f314feb176d
BLAKE2b-256 4da9bfb29b3de3eb11dc9b412603437023b8e6c02fb4e11311863d9bf62c403a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e28f9faeb14b6f23ac55bfbbfd3643f5c7c18ede093977f1df249f73fd22c7b1
MD5 9ff81cd482a27b164af0e4a7a6dcf16c
BLAKE2b-256 4514d864b2db80a1a3358534392373e8a281d95b28c29c87d8548aed58813910

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp311-cp311-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 a738b937d512b30bf75995c0159c0ddf9eec0775c9d72ac0202076c72f24aa96
MD5 633c02d7a124d6b8116588b8f029edfd
BLAKE2b-256 96a7fba1eae75eb53a704475baf11bd44b3e6ccb95b316955027eb7748f24ef8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp311-cp311-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 7fb89ee5d106e4a7a51bce305ac4efb981536301895f7bdcf93ec92ae0d91c7f
MD5 b7ee676bb702481eed4720b80f115ffd
BLAKE2b-256 938d65b9bea7df120a7be8337c415b6d256ba786cbc9107cebba3bf8ff09da99

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 df5cbb1fbc74a8305b6065d4ade43b993be03dbe0f8b30032cced0d7740994bd
MD5 5a7243eb6aac7750682f1fc2bf8b4454
BLAKE2b-256 fdcd4660756070b03ce4a66663a43f6c6e7ebc2266cc6b4c586c167917185eb4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 54d9ff35d4515debf14bc27f1e3b38bfc453eff3220f5bce159642fa762fe5d4
MD5 0ea7bce439c01a109076e9cbb3e421a2
BLAKE2b-256 835f031a04b6017033d65b261259c09043c06f4ef2d4eac841d0649d76d69541

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6113c008a7780792efc80f9dfe10ba0cd043cbf8dc9a76ef757850f51b4edc50
MD5 f3bf10e290a643cb05e543724b031cb7
BLAKE2b-256 e95c8b385afbfacb853730682c57be56225f9fe275c5bf02ac1fc88edbff316d

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 040562757795eeea356394a7fb13076ad4f99d3c62ab0f8bdfb21f99a1f85664
MD5 eee82e44ae61ef3be233574aa6e473ac
BLAKE2b-256 ac1c3793990c8c83ca04e018151ddda83b83ecc41d89964f0f17749f027fc44d

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 d05ac6fa06959c4172eccd99a222e1fbf17b5670c4d596cb1e5cde99600674c4
MD5 c970aab2e0808619c079a0fa887cc710
BLAKE2b-256 074a022c5e6f0891a90cd7eb3d664d6c58ce2aba48bff107b00013f3d6167069

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a4cc92bb6db56ab0c1cbd17294e14f5e9224f0cc6521167ef388332604e92679
MD5 4487dd13e5811f603e60bb404907c066
BLAKE2b-256 b15191a5ebdff17f9ec4973cb0aa9d37635efec1c6868654bbc25d1543aca4ec

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8e5fb5f77c8745a60105403a774fe2c1759b71d3e7b4ca237a5e67ad066c7199
MD5 1fd4d2b350e82c51d927c40f4ce8a198
BLAKE2b-256 9b8ba4723a838b53c771e9240951adde6af58c829fb6a6a28f554e8131f53839

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 64ce2799bd75039b480cc0360907c4fb2f50022f030bf9e7a8705b636e408fad
MD5 fac1b8f1eeed523c4f2783f59b240d2d
BLAKE2b-256 33c460f3370735135e3a8d673ddcdb2507a8560d0e759e1398d366e43d000253

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3b37fa423beefa44919e009745ccbf353d8c981516e807995b2bd11c2c77d268
MD5 f71a50787985018f0abea9c722f3b1e4
BLAKE2b-256 32d9bfdd153179867c275719e381e1e8e84a97bd186740456a0dcb3e7125c205

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2cce2449e5927a0bf084d346da6cd5eb016b2beca10d0013ab50e3c226ffc0df
MD5 f90e27ebd785aafa64c08290245ebfe0
BLAKE2b-256 86a1d526b7b6095a0019aa360948c143aacfeb029919c898701ce7763bbe4c15

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2024.9.11-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 274.0 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for regex-2024.9.11-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 01c2acb51f8a7d6494c8c5eafe3d8e06d76563d8a8a4643b37e9b2dd8a2ff623
MD5 af7b947eaf39bc3e280291425d6007bf
BLAKE2b-256 c42a4f9c47d9395b6aff24874c761d8d620c0232f97c43ef3cf668c8b355e7a7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2024.9.11-cp310-cp310-win32.whl
  • Upload date:
  • Size: 261.6 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for regex-2024.9.11-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 f745ec09bc1b0bd15cfc73df6fa4f726dcc26bb16c23a03f9e3367d357eeedd0
MD5 8248fe0c46cb8a4b60a7a5e39b2643c0
BLAKE2b-256 ab6743174d2b46fa947b7b9dfe56b6c8a8a76d44223f35b1d64645a732fd1d6f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7a22ccefd4db3f12b526eccb129390942fe874a3a9fdbdd24cf55773a1faab1a
MD5 89c935dc6e67f9cea1ecaedb25a2deb2
BLAKE2b-256 b79938434984d912edbd2e1969d116257e869578f67461bd7462b894c45ed874

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp310-cp310-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 09d77559e80dcc9d24570da3745ab859a9cf91953062e4ab126ba9d5993688ca
MD5 aec02f3444beaf130c589d80ee922d97
BLAKE2b-256 40b83e9484c6230b8b6e8f816ab7c9a080e631124991a4ae2c27a81631777db0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp310-cp310-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 3ce4f1185db3fbde8ed8aa223fc9620f276c58de8b0d4f8cc86fd1360829edb6
MD5 deab5768c6b74bdb43506da1c7e43c13
BLAKE2b-256 657b953075723dd5ab00780043ac2f9de667306ff9e2a85332975e9f19279174

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 c0256beda696edcf7d97ef16b2a33a8e5a875affd6fa6567b54f7c577b30a137
MD5 ce7899373342c9ebff84971f6bb0bd77
BLAKE2b-256 970737e460ab5ca84be8e1e197c3b526c5c86993dcc9e13cbc805c35fc2463c1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 635a1d96665f84b292e401c3d62775851aedc31d4f8784117b3c68c4fcd4118d
MD5 b30df7ec26a5e7208667d8d06d1c01e8
BLAKE2b-256 713a52ff61054d15a4722605f5872ad03962b319a04c1ebaebe570b8b9b7dde1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5ddcd9a179c0a6fa8add279a4444015acddcd7f232a49071ae57fa6e278f1f71
MD5 f4fbd8c61ac6926e2e99fe276e1de065
BLAKE2b-256 cb19556638aa11c2ec9968a1da998f07f27ec0abb9bf3c647d7c7985ca0b8eea

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 e9a091b0550b3b0207784a7d6d0f1a00d1d1c8a11699c1a4d93db3fbefc3ad35
MD5 dc565d6778e1b54179d756b5eeacf24c
BLAKE2b-256 22918339dd3abce101204d246e31bc26cdd7ec07c9f91598472459a3a902aa41

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 a906ed5e47a0ce5f04b2c981af1c9acf9e8696066900bf03b9d7879a6f679fc8
MD5 ae0184289639641f0c35b17e7c95ab8a
BLAKE2b-256 3c65b9f002ab32f7b68e7d1dcabb67926f3f47325b8dbc22cc50b6a043e1d07c

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 46989629904bad940bbec2106528140a218b4a36bb3042d8406980be1941429c
MD5 4ff4f40f97ddbe28e95f3c0b48c9896a
BLAKE2b-256 88871ce4a5357216b19b7055e7d3b0efc75a6e426133bf1e7d094321df514257

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 ced479f601cd2f8ca1fd7b23925a7e0ad512a56d6e9476f79b8f381d9d37090a
MD5 cc11987fa8b2e1be097ace4c75d8c257
BLAKE2b-256 f10b29f2105bfac3ed08e704914c38e93b07c784a6655f8a015297ee7173e95b

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6b41e1adc61fa347662b09398e31ad446afadff932a24807d3ceb955ed865cc8
MD5 417036088bc35430af9a38e5bac7f6b2
BLAKE2b-256 d1e97a5bc4c6ef8d9cd2bdd83a667888fc35320da96a4cc4da5fa084330f53db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 16e13a7929791ac1216afde26f712802e3df7bf0360b32e4914dca3ab8baeea5
MD5 b7fca74c15fe316450118937a2654c10
BLAKE2b-256 69a8b2fb45d9715b1469383a0da7968f8cacc2f83e9fbbcd6b8713752dd980a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0e12c481ad92d129c78f13a2a3662317e46ee7ef96c94fd332e1c29131875b7d
MD5 101f32bf43756ff842afd56ad54696db
BLAKE2b-256 c124595ddb9bec2a9b151cdaf9565b0c9f3da9f0cb1dca6c158bc5175332ddf8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 1494fa8725c285a81d01dc8c06b55287a1ee5e0e382d8413adc0a9197aac6408
MD5 c8b18d19810927bf300ff7012c644e10
BLAKE2b-256 6312497bd6599ce8a239ade68678132296aec5ee25ebea45fc8ba91aa60fceec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2024.9.11-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 274.1 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for regex-2024.9.11-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 faa3c142464efec496967359ca99696c896c591c56c53506bac1ad465f66e919
MD5 faf9564d5598b2117e4d11181091c37d
BLAKE2b-256 b6f1aef1112652ac7b3922d2c129f8325a4fd286b66691127dd99f380f8ede19

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2024.9.11-cp39-cp39-win32.whl
  • Upload date:
  • Size: 261.7 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for regex-2024.9.11-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 e4c22e1ac1f1ec1e09f72e6c44d8f2244173db7eb9629cc3a346a8d7ccc31142
MD5 bdc3ee986f7b19345f2e75413b1fbf71
BLAKE2b-256 979e0400d742b9647b4940609a96d550de89e4e89c85f6a370796dab25b5979c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0ffbcf9221e04502fc35e54d1ce9567541979c3fdfb93d2c554f0ca583a19b35
MD5 8b45c57de5ff3a08b595b84904ed0a07
BLAKE2b-256 b9f082ea1565a6639270cfe96263002b3d91084a1db5048d9b6084f83bd5972d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp39-cp39-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 e53b5fbab5d675aec9f0c501274c467c0f9a5d23696cfc94247e1fb56501ed89
MD5 a3c5d71e8ce22faff0324b34ead383ed
BLAKE2b-256 83cba378cdc2468782eefefa50183bbeabc3357fb588d4109d845f0a56e68713

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp39-cp39-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 73d6d2f64f4d894c96626a75578b0bf7d9e56dcda8c3d037a2118fdfe9b1c664
MD5 d7c0dd1a341a19bc504340d2ede40110
BLAKE2b-256 1671d964c0c9d447f04bbe6ab5eafd220208e7d52b9608e452e6fcad553b38e0

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp39-cp39-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 54c4a097b8bc5bb0dfc83ae498061d53ad7b5762e00f4adaa23bee22b012e6ba
MD5 d40b186aa327274f581c3245ad1adde9
BLAKE2b-256 79ba92ef9d3b8f59cb3df9febef07098dfb4a43c3bdcf35b1084c2009b0a93bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0cbff728659ce4bbf4c30b2a1be040faafaa9eca6ecde40aaff86f7889f4ab39
MD5 3c2fccd24d3acdc945c93f7ce3d06dff
BLAKE2b-256 cbd21d44f9b4a3d33ff5773fd79bea53e992d00f81e0af6f1f4e2efac1e4d897

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 297f54910247508e6e5cae669f2bc308985c60540a4edd1c77203ef19bfa63ca
MD5 15d7e7416ba3d829750d9fc2be0f1cca
BLAKE2b-256 01e6a7256c99c312b68f01cfd4f8eae6e770906fffb3832ecb66f35ca5b86b96

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 69dee6a020693d12a3cf892aba4808fe168d2a4cef368eb9bf74f5398bfd4ee8
MD5 5556c0fb5579a4fd5087982057c2f789
BLAKE2b-256 d5e779c04ccb81cee2831d9d4499274919b9153c1741ce8b3421d69cb0032f1b

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 02087ea0a03b4af1ed6ebab2c54d7118127fee8d71b26398e8e4b05b78963199
MD5 29259f0837c7c10f11c99bc5463da513
BLAKE2b-256 bb8993516f0aa3e8a9366df2cf79bb0290abdc7dbe5dd27373d9bea0978b7ba6

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c69ada171c2d0e97a4b5aa78fbb835e0ffbb6b13fc5da968c09811346564f0d3
MD5 ee178cbd0960822672eb5a564b338bef
BLAKE2b-256 b421feaa5b0d3e5e3bad659cd7d640e6b76cc0719504dbd9bc8f67cfa21bde82

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 eab4bb380f15e189d1313195b062a6aa908f5bd687a0ceccd47c8211e9cf0d4a
MD5 7042534616b0c6bea98fd2dfc45083c1
BLAKE2b-256 95787acd8882ac335f1f5ae1756417739fda3053e0bcacea8716ae4a04e74553

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ecea58b43a67b1b79805f1a0255730edaf5191ecef84dbc4cc85eb30bc8b63b9
MD5 c468491c9d5b307670f09315ac478e59
BLAKE2b-256 18c429e8b6ff2208775858b5d4a2caa6428d40b5fade95aee426de7e42ffff39

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6edd623bae6a737f10ce853ea076f56f507fd7726bee96a41ee3d68d347e4d16
MD5 86c2a1a2f39968782f145e0f43d41d5d
BLAKE2b-256 3f364b60a0c2e4cc6ecb2651be828117a31f42fae55a51a484a8071729df56a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4838e24ee015101d9f901988001038f7f0d90dc0c3b115541a1365fb439add62
MD5 18106ae00966ad8b93d5f1d83e5248dd
BLAKE2b-256 a1b5449c2f14fc20dc42ef9729469fcff42809393470f021ed6c6fcf5f3d3297

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.9.11-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 07f45f287469039ffc2c53caf6803cd506eb5f5f637f1d4acb37a738f71dd066
MD5 3a8433c19a43254c2757694f26d67e33
BLAKE2b-256 a1aae31baf8482ad690ccb3cdf20d1963a01e98d137e4d9ee493dbb0fa8ba2c6

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: regex-2024.9.11-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 274.1 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for regex-2024.9.11-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 2b08fce89fbd45664d3df6ad93e554b6c16933ffa9d55cb7e01182baaf971508
MD5 f316669adb35b1ed72522b9391b388bc
BLAKE2b-256 33fc07e14d7727a9f5773abb728f18f3497ea917c76f16155a68594460d86b8b

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp38-cp38-win32.whl.

File metadata

  • Download URL: regex-2024.9.11-cp38-cp38-win32.whl
  • Upload date:
  • Size: 261.7 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for regex-2024.9.11-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 c94bb0a9f1db10a1d16c00880bdebd5f9faf267273b8f5bd1878126e0fbde771
MD5 78ba0fa24a55b40105539570519596ae
BLAKE2b-256 a4f3262c44485a858e496efea890f141621a05354753fa59ac4f2a41e9bf12a4

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 846bc79ee753acf93aef4184c040d709940c9d001029ceb7b7a52747b80ed2dd
MD5 d3ad01d126632f92827e14fad07ade89
BLAKE2b-256 5f13387d6c7d39c55dbfb06552b7ace7a2ddc05493403618a2f55da71f495832

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp38-cp38-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp38-cp38-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 e93f1c331ca8e86fe877a48ad64e77882c0c4da0097f2212873a69bbfea95d0c
MD5 96c4f4862c91b08703cb36d244339422
BLAKE2b-256 41ba4ce9ef3e3fe1645a55b1546353768a11ac8ffc8e7a9b0a445affcd3aabe2

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp38-cp38-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp38-cp38-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 ae2941333154baff9838e88aa71c1d84f4438189ecc6021a12c7573728b5838e
MD5 7f2e41bcafeb77741155c0cc4025a794
BLAKE2b-256 d0d4d5d5c2f757b25a5556033571421bfa469c9b0dfc5e59efeaf0eb88ecfa39

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp38-cp38-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp38-cp38-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 23f9985c8784e544d53fc2930fc1ac1a7319f5d5332d228437acc9f418f2f168
MD5 80000df855723c4a786807d0ce3a955a
BLAKE2b-256 4d8795091e0f6fc69d1235e61ddabc5dc64f00c6ee6288872564233f9a41bf27

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp38-cp38-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f9268774428ec173654985ce55fc6caf4c6d11ade0f6f914d48ef4719eb05ebb
MD5 630296705639a14d486df1da92a1f20f
BLAKE2b-256 3f9fd1834185895df468860597f5934272539f21bc8112013f2e892fd6dd588e

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f6fff13ef6b5f29221d6904aa816c34701462956aa72a77f1f151a8ec4f56aeb
MD5 cdcac56835f2c0b19bd1e0fa15231ad5
BLAKE2b-256 75d1ea4e9b22e2b19463d0def76418e21316b9a8acc88ce6b764353834015ee0

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 b5b029322e6e7b94fff16cd120ab35a253236a5f99a79fb04fda7ae71ca20ae8
MD5 7678d0e8b4449f600f51e48226c9a6de
BLAKE2b-256 5e8290127f8e15384c1edee89cc9b937c453e7e2419e635dc160ac2bd7f8239e

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 be1c8ed48c4c4065ecb19d882a0ce1afe0745dfad8ce48c49586b90a55f02366
MD5 9cd9fdcc9ee75dc5d952f54fa842d67b
BLAKE2b-256 abc3b1db10548c31491fe8c8e904e032f1b9af1fd6d193bab32324caed4caf7a

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 323c1f04be6b2968944d730e5c2091c8c89767903ecaa135203eec4565ed2b2b
MD5 0cb1d0662bbd0ea9dcf09b7ef661f803
BLAKE2b-256 7f0d7ec6c7c306cea8fcf7413565d0f778ba056bf2b2fa97508e0506521987e7

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 079400a8269544b955ffa9e31f186f01d96829110a3bf79dc338e9910f794fca
MD5 fd6e052818cb0ad58c8d3c3942d19e99
BLAKE2b-256 897b4c3b129108fbcab118f93da68d7ac84dff831d71fafd8bcda711f572ac0d

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 587d4af3979376652010e400accc30404e6c16b7df574048ab1f581af82065e4
MD5 cf147f33018eb1bc2d421720603f9a15
BLAKE2b-256 9c924360fab411bad3dc9862742407d9c1790858e160e1e732ad2491747c4053

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cb130fccd1a37ed894824b8c046321540263013da72745d755f2d35114b81a60
MD5 1a31b68bd04a3ef9196307cd149fb463
BLAKE2b-256 2847d267e0c8f327d717f565cdba76d354993a350a0f6aba8efa650c0fe93d79

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 55b96e7ce3a69a8449a66984c268062fbaa0d8ae437b285428e12797baefce7e
MD5 17118e1a575c0bfb307fc3a9eb5e849c
BLAKE2b-256 c28facb2dbdcb0ec4ce99a06544868c4a3463faad344f89437712419ccbd70a4

See more details on using hashes here.

File details

Details for the file regex-2024.9.11-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for regex-2024.9.11-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 35f4a6f96aa6cb3f2f7247027b07b15a374f0d5b912c0001418d1d55024d5cb4
MD5 a3d34145259fd070127834a929b03e30
BLAKE2b-256 5803ac6839452b59793683c33a3eb782671863800f4d514aec81f38098d2846f

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