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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.13 Windows x86-64

regex-2024.11.6-cp313-cp313-win32.whl (262.1 kB view details)

Uploaded CPython 3.13 Windows x86

regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl (787.7 kB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ x86-64

regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl (860.2 kB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ s390x

regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl (853.0 kB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ ppc64le

regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl (789.5 kB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ i686

regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl (781.6 kB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ ARM64

regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (796.9 kB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ x86-64

regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl (823.1 kB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ s390x

regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (833.1 kB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ ppc64le

regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (795.0 kB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ ARM64

regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (784.0 kB view details)

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

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

Uploaded CPython 3.13 macOS 11.0+ ARM64

regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl (288.3 kB view details)

Uploaded CPython 3.13 macOS 10.13+ x86-64

regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl (483.5 kB view details)

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

regex-2024.11.6-cp312-cp312-win_amd64.whl (273.6 kB view details)

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.12 Windows x86

regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl (787.7 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl (860.1 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ s390x

regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl (852.9 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ ppc64le

regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl (789.5 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ i686

regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl (781.7 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ ARM64

regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (796.9 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (823.2 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ s390x

regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (833.1 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ppc64le

regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (795.0 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (784.0 kB view details)

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

regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl (284.8 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl (288.5 kB view details)

Uploaded CPython 3.12 macOS 10.13+ x86-64

regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl (483.8 kB view details)

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

regex-2024.11.6-cp311-cp311-win_amd64.whl (274.1 kB view details)

Uploaded CPython 3.11 Windows x86-64

regex-2024.11.6-cp311-cp311-win32.whl (261.7 kB view details)

Uploaded CPython 3.11 Windows x86

regex-2024.11.6-cp311-cp311-musllinux_1_2_x86_64.whl (781.2 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

regex-2024.11.6-cp311-cp311-musllinux_1_2_s390x.whl (852.9 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ s390x

regex-2024.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl (848.6 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ ppc64le

regex-2024.11.6-cp311-cp311-musllinux_1_2_i686.whl (784.7 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ i686

regex-2024.11.6-cp311-cp311-musllinux_1_2_aarch64.whl (777.0 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ ARM64

regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (792.7 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

regex-2024.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (818.3 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

regex-2024.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (831.3 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

regex-2024.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (792.1 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

regex-2024.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (780.7 kB view details)

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

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

Uploaded CPython 3.11 macOS 11.0+ ARM64

regex-2024.11.6-cp311-cp311-macosx_10_9_x86_64.whl (287.7 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

regex-2024.11.6-cp311-cp311-macosx_10_9_universal2.whl (482.7 kB view details)

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

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

Uploaded CPython 3.10 Windows x86-64

regex-2024.11.6-cp310-cp310-win32.whl (261.7 kB view details)

Uploaded CPython 3.10 Windows x86

regex-2024.11.6-cp310-cp310-musllinux_1_2_x86_64.whl (773.2 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

regex-2024.11.6-cp310-cp310-musllinux_1_2_s390x.whl (843.3 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ s390x

regex-2024.11.6-cp310-cp310-musllinux_1_2_ppc64le.whl (839.3 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ ppc64le

regex-2024.11.6-cp310-cp310-musllinux_1_2_i686.whl (775.1 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ i686

regex-2024.11.6-cp310-cp310-musllinux_1_2_aarch64.whl (768.7 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ ARM64

regex-2024.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (781.7 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

regex-2024.11.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (809.7 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

regex-2024.11.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (821.1 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

regex-2024.11.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (782.5 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

regex-2024.11.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (697.4 kB view details)

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

regex-2024.11.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (772.0 kB view details)

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

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

Uploaded CPython 3.10 macOS 11.0+ ARM64

regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl (287.7 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl (482.7 kB view details)

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

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

Uploaded CPython 3.9 Windows x86-64

regex-2024.11.6-cp39-cp39-win32.whl (261.8 kB view details)

Uploaded CPython 3.9 Windows x86

regex-2024.11.6-cp39-cp39-musllinux_1_2_x86_64.whl (772.7 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

regex-2024.11.6-cp39-cp39-musllinux_1_2_s390x.whl (842.6 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ s390x

regex-2024.11.6-cp39-cp39-musllinux_1_2_ppc64le.whl (838.9 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ ppc64le

regex-2024.11.6-cp39-cp39-musllinux_1_2_i686.whl (774.8 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ i686

regex-2024.11.6-cp39-cp39-musllinux_1_2_aarch64.whl (768.1 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ ARM64

regex-2024.11.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (780.9 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

regex-2024.11.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (809.1 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ s390x

regex-2024.11.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (820.6 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ppc64le

regex-2024.11.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (782.0 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

regex-2024.11.6-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.9 manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.5+ x86-64

regex-2024.11.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (771.5 kB view details)

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

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

Uploaded CPython 3.9 macOS 11.0+ ARM64

regex-2024.11.6-cp39-cp39-macosx_10_9_x86_64.whl (287.7 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

regex-2024.11.6-cp39-cp39-macosx_10_9_universal2.whl (482.7 kB view details)

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

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

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 Windows x86

regex-2024.11.6-cp38-cp38-musllinux_1_2_x86_64.whl (775.0 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ x86-64

regex-2024.11.6-cp38-cp38-musllinux_1_2_s390x.whl (845.8 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ s390x

regex-2024.11.6-cp38-cp38-musllinux_1_2_ppc64le.whl (840.4 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ ppc64le

regex-2024.11.6-cp38-cp38-musllinux_1_2_i686.whl (775.3 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ i686

regex-2024.11.6-cp38-cp38-musllinux_1_2_aarch64.whl (770.0 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ ARM64

regex-2024.11.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (785.1 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

regex-2024.11.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (809.9 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ s390x

regex-2024.11.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (822.9 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ppc64le

regex-2024.11.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (783.6 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

regex-2024.11.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (702.4 kB view details)

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

regex-2024.11.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (773.0 kB view details)

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

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

Uploaded CPython 3.8 macOS 11.0+ ARM64

regex-2024.11.6-cp38-cp38-macosx_10_9_x86_64.whl (287.8 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

regex-2024.11.6-cp38-cp38-macosx_10_9_universal2.whl (482.8 kB view details)

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

File details

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

File metadata

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

File hashes

Hashes for regex-2024.11.6.tar.gz
Algorithm Hash digest
SHA256 7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519
MD5 02b86394591ba39d34bc35d11e9e7d96
BLAKE2b-256 8e5fbd69653fbfb76cf8604468d3b4ec4c403197144c7bfe0e6a5fc9e02a07cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a
MD5 0970db763d598ba013b26e169b7aa80c
BLAKE2b-256 4594bc295babb3062a731f52621cdc992d123111282e291abaf23faa413443ea

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2024.11.6-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff
MD5 eef69ac12f75ce6000210cf24e5dc9a9
BLAKE2b-256 2bf1e40c8373e3480e4f29f2692bd21b3e05f296d3afebc7e5dcf21b9756ca1c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d
MD5 ea69ae44ef6e2e4aa8d11b57a04003f1
BLAKE2b-256 ede3c446a64984ea9f69982ba1a69d4658d5014bc7a0ea468a07e1a1265db6e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4
MD5 9daf31f917896a6d8d0b65574f259373
BLAKE2b-256 31d31372add5251cc2d44b451bd94f43b2ec78e15a6e82bff6a290ef9fd8f00a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6
MD5 6ff2ecd79ab5cb6e633dce66d933117d
BLAKE2b-256 dc9653770115e507081122beca8899ab7f5ae28ae790bfcc82b5e38976df6a77

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e
MD5 95056a2ad752841563e3ee5ae1519a28
BLAKE2b-256 a7d5880921ee4eec393a4752e6ab9f0fe28009435417c3102fc413f3fe81c4e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07
MD5 b51fff3e9074fe4fb8478e6ed0d57a5e
BLAKE2b-256 c2417da3fe70216cea93144bf12da2b87367590bcf07db97604edeea55dac9ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c
MD5 1e6152d819943689fb5515fe53002d35
BLAKE2b-256 db601eeca2074f5b87df394fccaa432ae3fc06c9c9bfa97c5051aed70e6e00c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7
MD5 e4ef2cc66cd934f871d1e2626d847cec
BLAKE2b-256 4fdb46f563a08f969159c5a0f0e722260568425363bea43bb7ae370becb66a67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7
MD5 e7e1b02ccaf4f1ecff1548fa7bed6eee
BLAKE2b-256 c47cd4cd9c528502a3dedb5c13c146e7a7a539a3853dc20209c8e75d9ba9d1b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0
MD5 6fddce127317b588810e5f50a69669ac
BLAKE2b-256 fcfd37868b75eaf63843165f1d2122ca6cb94bfc0271e4428cf58c0616786dce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3
MD5 be597df7abf5c9b8739bf40ee1b71207
BLAKE2b-256 10dbac718a08fcee981554d2f7bb8402f1faa7e868c1345c16ab1ebec54b0d7b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0
MD5 1e001d1cbdd85a00dccf8fd7e50bbb4b
BLAKE2b-256 09c94e68181a4a652fb3ef5099e077faf4fd2a694ea6e0f806a7737aff9e758a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4
MD5 be64ede46c2501cb23be46156bc3b4fc
BLAKE2b-256 0f3ff1a082a46b31e25291d830b369b6b0c5576a6f7fb89d3053a354c24b8a83

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84
MD5 71582c794215d3bf76076f69d78f5883
BLAKE2b-256 9073bcb0e36614601016552fa9344544a3a2ae1809dc1401b100eab02e772e1f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b
MD5 081a11787e1ce0fa5888c3527a5b9976
BLAKE2b-256 38ecad2d7de49a600cdb8dd78434a1aeffe28b9d6fc42eb36afab4a27ad23384

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2024.11.6-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.7

File hashes

Hashes for regex-2024.11.6-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54
MD5 c5889b21641aab0ad5dbe52cf60c8d9d
BLAKE2b-256 0b5531877a249ab7a5156758246b9c59539abbeba22461b7d8adc9e8475ff73e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad
MD5 884a08b28cec64e6add65ab3fe20cd6b
BLAKE2b-256 932ddd56bb76bd8e95bbce684326302f287455b56242a4f9c61f1bc76e28360e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51
MD5 00baf0af0043ec35dab61ce2f29f7b3e
BLAKE2b-256 e339ed4416bc90deedbfdada2568b2cb0bc1fdb98efe11f5378d9892b2a88f8f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39
MD5 1546152a89a9b787ac2f176d6bbb92b9
BLAKE2b-256 832315d4552ea28990a74e7696780c438aadd73a20318c47e527b47a4a5a596d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29
MD5 31f515e1786d8f2126146e7525f582cd
BLAKE2b-256 83f2033e7dec0cfd6dda93390089864732a3409246ffe8b042e9554afa9bff4e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e
MD5 7ad490fea01e2f007233004111a64c4a
BLAKE2b-256 f9a1eb378dada8b91c0e4c5f08ffb56f25fcae47bf52ad18f9b2f33b83e6d498

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e
MD5 b8ed95cf5d8ec44056286dc10da70575
BLAKE2b-256 fb13e3b075031a738c9598c51cfbc4c7879e26729c53aa9cca59211c44235314

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3
MD5 6e5e5a7c634975892391729d477c018d
BLAKE2b-256 a1567295e6bad94b047f4d0834e4779491b81216583c00c288252ef625c01d23

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577
MD5 039ee9d80d9f25480d9fb600cf470157
BLAKE2b-256 4bbffa87e563bf5fee75db8915f7352e1887b1249126a1be4813837f5dbec965

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4
MD5 0cd76226f1c97ea9ae2a8ba349df8184
BLAKE2b-256 942b701a4b0585cb05472a4da28ee28fdfe155f3638f5e1ec92306d924e5faf0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe
MD5 4fe4fcf13e00cdc179cba1af7c633651
BLAKE2b-256 24560b3f1b66d592be6efec23a795b37732682520b47c53da5a32c33ed7d84e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2
MD5 9238fcc8839c05eb72bf07fef08967d4
BLAKE2b-256 6085cebcc0aff603ea0a201667b203f13ba75d9fc8668fab917ac5b2de3967bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9
MD5 ac8f9f3a6fed15b2929bcc70b4e6bf8b
BLAKE2b-256 01e800008ad4ff4be8b1844786ba6636035f7ef926db5686e4c0f98093612add

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a
MD5 01c51e27480a3c032c65e4154b56b2f6
BLAKE2b-256 ba309a87ce8336b172cc232a0db89a3af97929d06c11ceaa19d97d84fa90a8f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 02e28184be537f0e75c1f9b2f8847dc51e08e6e171c6bde130b2687e0c33cf60
MD5 5fa1779c2c34086a4811e2298bae3759
BLAKE2b-256 8032763a6cc01d21fb3819227a1cc3f60fd251c13c37c27a73b8ff4315433a8e

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2024.11.6-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 c36f9b6f5f8649bb251a5f3f66564438977b7ef8386a52460ae77e6070d309d9
MD5 876ffa617e141744b539e4cec9a27382
BLAKE2b-256 26b7b14e2440156ab39e0177506c08c18accaf2b8932e39fb092074de733d868

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ac10f2c4184420d881a3475fb2c6f4d95d53a8d50209a2500723d831036f7c45
MD5 c2b5f583351669d9776d28cf72bd9492
BLAKE2b-256 119b5a05d2040297d2d254baf95eeeb6df83554e5e1df03bc1a6687fc4ba1f66

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp311-cp311-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 068376da5a7e4da51968ce4c122a7cd31afaaec4fccc7856c92f63876e57b51d
MD5 923bc0dc947f9d597bd45cbfe5722ec2
BLAKE2b-256 1c806dd7118e8cb212c3c60b191b932dc57db93fb2e36fb9e0e92f72a5909af9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 4181b814e56078e9b00427ca358ec44333765f5ca1b45597ec7446d3a1ef6e34
MD5 a553e6d63a10cd7c72d254a89d04791f
BLAKE2b-256 8eb5f8495c7917f15cc6fee1e7f395e324ec3e00ab3c665a7dc9d27562fd5290

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 202eb32e89f60fc147a41e55cb086db2a3f8cb82f9a9a88440dcfc5d37faae8d
MD5 0c6dd18536d1000921ff596a26b8005c
BLAKE2b-256 165d95c568574e630e141a69ff8a254c2f188b4398e813c40d49228c9bbd9875

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9714398225f299aa85267fd222f7142fcb5c769e73d7733344efc46f2ef5cf89
MD5 dd12df858df27fad330adf3edf4bd048
BLAKE2b-256 c5f475eb0dd4ce4b37f04928987f1d22547ddaf6c4bae697623c1b05da67a8aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f2a19f302cd1ce5dd01a9099aaa19cae6173306d1302a43b627f62e21cf18ac0
MD5 c245f8a7cab099a192f56618830230be
BLAKE2b-256 bfce0d0e61429f603bac433910d99ef1a02ce45a8967ffbe3cbee48599e62d88

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 2d548dafee61f06ebdb584080621f3e0c23fff312f0de1afc776e2a2ba99a74f
MD5 f9effef5e930343e86f84934c8527f6a
BLAKE2b-256 b312b0f480726cf1c60f6536fa5e1c95275a77624f3ac8fdccf79e6727499e28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 167ed4852351d8a750da48712c3930b031f6efdaa0f22fa1933716bfcd6bf4a3
MD5 dc04698d4755de062461dd4dea467baf
BLAKE2b-256 45eec867e15cd894985cb32b731d89576c41a4642a57850c162490ea34b78c3b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1062b39a0a2b75a9c694f7a08e7183a80c63c0d62b301418ffd9c35f55aaa114
MD5 82de9339c72574363743693fb18a02d5
BLAKE2b-256 254dab21047f446693887f25510887e6820b93f791992994f6498b0318904d4a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 bec9931dfb61ddd8ef2ebc05646293812cb6b16b60cf7c9511a832b6f1854b55
MD5 c9811caf66449bec72c277382539c82e
BLAKE2b-256 e4c1243c83c53d4a419c1556f43777ccb552bccdf79d08fda3980e4e77dd9137

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 94d87b689cdd831934fa3ce16cc15cd65748e6d689f5d2b8f4f4df2065c9fa20
MD5 c5acfb681845ec11d71af58542986ed0
BLAKE2b-256 c51bf0e4d13e6adf866ce9b069e191f303a30ab1277e037037a365c3aad5cc9c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2c89a8cc122b25ce6945f0423dc1352cb9593c68abd19223eebbd4e56612c5b7
MD5 b271756601cb1ce4d3d20561daf3f171
BLAKE2b-256 344c8f8e631fcdc2ff978609eaeef1d6994bf2f028b59d9ac67640ed051f1218

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 5478c6962ad548b54a591778e93cd7c456a7a29f8eca9c49e4f9a806dcc5d638
MD5 2df0b488d78bed753914e465b10e2b73
BLAKE2b-256 58587e4d9493a66c88a7da6d205768119f51af0f684fe7be7bac8328e217a52c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5071b2093e793357c9d8b2929dfc13ac5f0a6c650559503bb81189d0a3814519
MD5 b068422b83be45c581e000d6baa56245
BLAKE2b-256 427e5f1b92c8468290c465fd50c5318da64319133231415a8aa6ea5ab995a815

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2024.11.6-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 b489578720afb782f6ccf2840920f3a32e31ba28a4b162e13900c3e6bd3f930e
MD5 a51a62aab040de749cdc9b263ee706b5
BLAKE2b-256 453fef9589aba93e084cd3f8471fded352826dcae8489b650d0b9b27bc5bba8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 da8f5fc57d1933de22a9e23eec290a0d8a5927a5370d24bda9a6abe50683fe62
MD5 b1731f058b0ab2ea27ccc3d1effd15e1
BLAKE2b-256 7ef248b393b51900456155de3ad001900f94298965e1cad1c772b87f9cfea011

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp310-cp310-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 8447d2d39b5abe381419319f942de20b7ecd60ce86f16a23b0698f22e1b70008
MD5 a5782115fe42c11c3a2113166a81d5ee
BLAKE2b-256 f7173cbfab1f23356fbbf07708220ab438a7efa1e0f34195bf857433f79f1788

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp310-cp310-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 fdabbfc59f2c6edba2a6622c647b716e34e8e3867e0ab975412c5c2f79b82da2
MD5 82541799c8ca1735782ac0db60aab722
BLAKE2b-256 99d7f94154db29ab5a89d69ff893159b19ada89e76b915c1293e98603d39838c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 040df6fe1a5504eb0f04f048e6d09cd7c7110fef851d7c567a6b6e09942feb7d
MD5 19fe32acdcb07c82a117116ed3bfac9a
BLAKE2b-256 5adbf43fd75dc4c0c2d96d0881967897926942e935d700863666f3c844a72ce6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 06eb1be98df10e81ebaded73fcd51989dcf534e3c753466e4b60c4697a003b67
MD5 9caf1156448c5b37828601f8d32f9b89
BLAKE2b-256 49dcbb45572ceb49e0f6509f7596e4ba7031f6819ecb26bc7610979af5a77f45

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 997d6a487ff00807ba810e0f8332c18b4eb8d29463cfb7c820dc4b6e7562d0cf
MD5 5a270b5662ebc17d7924bb6981a286a6
BLAKE2b-256 f29826d3830875b53071f1f0ae6d547f1d98e964dd29ad35cbf94439120bb67a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 f1ac758ef6aebfc8943560194e9fd0fa18bcb34d89fd8bd2af18183afd8da3a2
MD5 9c78e921b328e56ee7490b7b03f16920
BLAKE2b-256 903063373b9ea468fbef8a907fd273e5c329b8c9535fee36fc8dba5fecac475d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 d22326fcdef5e08c154280b71163ced384b428343ae16a5ab2b3354aed12436e
MD5 fb1f74dde57d4b90a5d9d3913047a8e7
BLAKE2b-256 1b2b323e72d5d2fd8de0d9baa443e1ed70363ed7e7b2fb526f5950c5cb99c364

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d3660c82f209655a06b587d55e723f0b813d3a7db2e32e5e7dc64ac2a9e86fde
MD5 aec0331bcd44c39dc8a9f842f9078268
BLAKE2b-256 78a26dd36e16341ab95e4c6073426561b9bfdeb1a9c9b63ab1b579c2e96cb105

See more details on using hashes here.

File details

Details for the file regex-2024.11.6-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.11.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 f02f93b92358ee3f78660e43b4b0091229260c5d5c408d17d60bf26b6c900e86
MD5 7aef8b6eb3fd04814283c5509a0f1619
BLAKE2b-256 74c0be707bcfe98254d8f9d2cff55d216e946f4ea48ad2fd8cf1428f8c5332ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 02a02d2bb04fec86ad61f3ea7f49c015a0681bf76abb9857f945d26159d2968c
MD5 51886a707f44d8e5c764837cb38c5269
BLAKE2b-256 8755eb2a068334274db86208ab9d5599ffa63631b9f0f67ed70ea7c82a69bbc8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 164d8b7b3b4bcb2068b97428060b2a53be050085ef94eca7f240e7947f1b080e
MD5 c89db57290b77f518678841fcb85adab
BLAKE2b-256 bd18b731f5510d1b8fb63c6b6d3484bfa9a59b84cc578ac8b5172970e05ae07c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0
MD5 4437e9f90a359420e8c2788ec4007074
BLAKE2b-256 15519f35d12da8434b489c7b7bffc205c474a0a9432a889457026e9bc06a297a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91
MD5 8625a474aaf3d204f7ab888b1bd7494e
BLAKE2b-256 953c4651f6b130c6842a8f3df82461a8950f923925db8b6961063e82744bddcc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2024.11.6-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.7

File hashes

Hashes for regex-2024.11.6-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b2837718570f95dd41675328e111345f9b7095d821bac435aac173ac80b19983
MD5 d677711abde15b07f536eb791ef4170d
BLAKE2b-256 dc7be59b7f7c91ae110d154370c24133f947262525b5d6406df65f23422acc17

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2024.11.6-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 41758407fc32d5c3c5de163888068cfee69cb4c2be844e7ac517a52770f9af57
MD5 768265d1884ccd412ff0c3aa851ad91b
BLAKE2b-256 135d61a533ccb8c231b474ac8e3a7d70155b00dfc61af6cafdccd1947df6d735

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a03e02f48cd1abbd9f3b7e3586d97c8f7a9721c436f51a5245b3b9483044480b
MD5 4a15e7c5e0ce4161cfeb7eaa00b6c2a2
BLAKE2b-256 ff9cdaa99532c72f25051a90ef90e1413a8d54413a9e64614d9095b0c1c154d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp39-cp39-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 684d7a212682996d21ca12ef3c17353c021fe9de6049e19ac8481ec35574a70f
MD5 8d6b640c777c88b492886961dc1569f8
BLAKE2b-256 5c93c6d2092fd479dcaeea40fc8fa673822829181ded77d294a7f950f1dda6e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp39-cp39-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 86fddba590aad9208e2fa8b43b4c098bb0ec74f15718bb6a704e3c63e2cef3e9
MD5 231a6d4ff24c4a492522f3615fbf5381
BLAKE2b-256 b5f3a757748066255f97f14506483436c5f6aded7af9e37bca04ec30c90ca683

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 69ab78f848845569401469da20df3e081e6b5a11cb086de3eed1d48f5ed57c95
MD5 bfc5d49e7f38553bf2f5a08c741ec6f5
BLAKE2b-256 8996c05a0fe173cd2acd29d5e13c1adad8b706bcaa71b169e1ee57dcf2e74584

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f056bf21105c2515c32372bbc057f43eb02aae2fda61052e2f7622c801f0b4e2
MD5 f0d87421dc0a700941de5d75dee0f995
BLAKE2b-256 c8dd42879c1fc8a37a887cd08e358af3d3ba9e23038cd77c7fe044a86d9450ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 08986dce1339bc932923e7d1232ce9881499a0e02925f7402fb7c982515419ef
MD5 48e53a800b7edf2d63ebbe0b3f749f36
BLAKE2b-256 86442101cc0890c3621b90365c9ee8d7291a597c0722ad66eccd6ffa7f1bcc09

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 5670bce7b200273eee1840ef307bfa07cda90b38ae56e9a6ebcc9f50da9c469b
MD5 71ac72ec2a425f6bded42c26662f0abc
BLAKE2b-256 5f3f9f5da81aff1d4167ac52711acf789df13e789fe6ac9545552e49138e3282

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 2e34b51b650b23ed3354b5a07aab37034d9f923db2a40519139af34f485f77d0
MD5 78759530d4ea5ec7a4f3669a0687fb1f
BLAKE2b-256 89e5ef52c7eb117dd20ff1697968219971d052138965a4d3d9b95e92e549f505

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5056b185ca113c88e18223183aa1a50e66507769c9640a6ff75859619d73957b
MD5 2e04a047cade1f558061d03a4b578342
BLAKE2b-256 4970c7eaa219efa67a215846766fde18d92d54cb590b6a04ffe43cef30057622

See more details on using hashes here.

File details

Details for the file regex-2024.11.6-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.11.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 764e71f22ab3b305e7f4c21f1a97e1526a25ebdd22513e251cf376760213da13
MD5 1d109fdcc6db8c54727b67b04eaa248b
BLAKE2b-256 a6491bc4584254355e3dba930a3a2fd7ad26ccba3ebbab7d9100db0aff2eedb0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 93c0b12d3d3bc25af4ebbf38f9ee780a487e8bf6954c115b9f015822d3bb8e48
MD5 1c80549f53a6e9f61cde71ac826c3d25
BLAKE2b-256 ce2e3e0668d8d1c7c3c0d397bf54d92fc182575b3a26939aed5000d3cc78760f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5e7e351589da0850c125f1600a4c4ba3c722efefe16b297de54300f08d734fbf
MD5 6d56f3ff348140702f52fc281abc9f33
BLAKE2b-256 7ad1598de10b17fdafc452d11f7dada11c3be4e379a8671393e4e3da3c4070df

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 220902c3c5cc6af55d4fe19ead504de80eb91f786dc102fbd74894b1551f095e
MD5 0276a6499607da9cece33c6b8a485860
BLAKE2b-256 3c8b45c24ab7a51a1658441b961b86209c43e6bb9d39caf1e63f46ce6ea03bc7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 5704e174f8ccab2026bd2f1ab6c510345ae8eac818b613d7d73e785f1310f839
MD5 10a6bac31c27a8c1d2be23b23778dbef
BLAKE2b-256 8923c4a86df398e57e26f93b13ae63acce58771e04bdde86092502496fa57f9c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2024.11.6-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.7

File hashes

Hashes for regex-2024.11.6-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 bb8f74f2f10dbf13a0be8de623ba4f9491faf58c24064f32b65679b021ed0001
MD5 9cf929ef8b219f9d5c1cd07e9a197c38
BLAKE2b-256 cf69c39e16320400842eb4358c982ef5fc680800866f35ebfd4dd38a22967ce0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2024.11.6-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.7

File hashes

Hashes for regex-2024.11.6-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 6f44ec28b1f858c98d3036ad5d7d0bfc568bdd7a74f9c24e25f41ef1ebfd81a4
MD5 0e2df973ded199f78157e29b8c163ff1
BLAKE2b-256 cc06c817c9201f09b7d9dd033039ba90d8197c91e9fe2984141f2d1de270c159

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f65557897fc977a44ab205ea871b690adaef6b9da6afda4790a2484b04293a5f
MD5 425e135b0659c29e00fd05ababec2869
BLAKE2b-256 50cb7170247e65afea2bf9204bcb2682f292b0a3a57d112478da199b84d59792

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp38-cp38-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 89d75e7293d2b3e674db7d4d9b1bee7f8f3d1609428e293771d1a962617150cc
MD5 a9b514dd36d6dfd9a53a2996552275c8
BLAKE2b-256 2a13ec3f8d85b789ee1c6ffbdfd4092fd901416716317ee17bf51aa2890bac96

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp38-cp38-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 f654882311409afb1d780b940234208a252322c24a93b442ca714d119e68086c
MD5 aad05d2be76f64c7e3f80c4eb5e08cb3
BLAKE2b-256 075d0cd19cf44d96a7aa31526611c24235d21d27c23b65201cb2c5cac508dd42

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp38-cp38-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 072623554418a9911446278f16ecb398fb3b540147a7828c06e2011fa531e773
MD5 3962a69ca48f4a0a5f1d2b1ffa1483bc
BLAKE2b-256 da2895c3ed6cd51b27f54e59940400e2a3ddd3f8bbbc3aaf947e57a67104ecbd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 df951c5f4a1b1910f1a99ff42c473ff60f8225baa1cdd3539fe2819d9543e9df
MD5 825bd0d3b7947f36160ad477868382d5
BLAKE2b-256 946e444e66346600d11e8a0f4bb31611973cffa772d5033ba1cf1f15de8a0d52

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d1cee317bfc014c2419a76bcc87f071405e3966da434e03e13beb45f8aced1a6
MD5 90d3a550310f2f10162c4bf81a078cf5
BLAKE2b-256 5ac8dc7153ceb5bcc344f5c4f0291ea45925a5f00009afa3849e91561ac2e847

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 a36fdf2af13c2b14738f6e973aba563623cb77d753bbbd8d414d18bfaa3105dd
MD5 8e15c35ac84f58e7ea990cf0a22ed43a
BLAKE2b-256 3fa4e3b11c643e5ae1059a08aeef971973f0c803d2a9ae2e7a86f97c68146a6c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 cdf58d0e516ee426a48f7b2c03a332a4114420716d55769ff7108c37a09951bf
MD5 531154eae574ceff1b188cbf09ebbcc0
BLAKE2b-256 8938499b32cbb61163af60a5c5ff26aacea7836fe7e3d821e76af216e996088c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 40291b1b89ca6ad8d3f2b82782cc33807f1406cf68c8d440861da6304d8ffbbd
MD5 3fbc9b20d5b427c5a3e2205db0fb8218
BLAKE2b-256 0a270b3cf7d9fbe43301aa3473d54406019a7380abe4e3c9ae250bac13c4fdb3

See more details on using hashes here.

File details

Details for the file regex-2024.11.6-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.11.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 ea1bfda2f7162605f6e8178223576856b3d791109f15ea99a9f95c16a7636fb5
MD5 38615394eb66326ed50ff3c3161f9b96
BLAKE2b-256 3e4e4a0da5e87f7c2dc73a8505785d5af2b1a19c66f4645b93caa50b7eb08242

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 50153825ee016b91549962f970d6a4442fa106832e14c918acd1c8e479916c4f
MD5 7becba11860b8c94083e1e4e8c231a41
BLAKE2b-256 2a29841489ea52013062b22625fbaf49b0916aeb62bae2e56425ac30f9dead46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ba9b72e5643641b7d41fa1f6d5abda2c9a263ae835b917348fc3c928182ad467
MD5 43221ac02f56055959d120d61a3df38a
BLAKE2b-256 08929df786fad8a4e0766bfc9a2e334c5f0757356070c9639b2ec776b8cdef3d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ad182d02e40de7459b73155deb8996bbd8e96852267879396fb274e8700190e3
MD5 6f94bb99de840ba207a93df8a6471734
BLAKE2b-256 5a5a586bafa294c5d2451265d3685815606c61e620f469cac3b946fff0a4aa48

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2024.11.6-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 3a51ccc315653ba012774efca4f23d1d2a8a8f278a6072e29c7147eee7da446b
MD5 9a2cbcdeb4fadce08e981ab118d56635
BLAKE2b-256 440f207b37e6e08d548fac0aa00bf0b7464126315d58ab5161216b8cb3abb2aa

See more details on using hashes here.

Supported by

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