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.

Note

The re module’s behaviour with zero-width matches changed in Python 3.7, and this module follows that behaviour when compiled for Python 3.7.

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 15.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?

# Python 3.7 and later
>>> regex.sub('.*', 'x', 'test')
'xx'
>>> regex.sub('.*?', '|', 'test')
'|||||||||'

# Python 3.6 and earlier
>>> regex.sub('(?V0).*', 'x', 'test')
'x'
>>> regex.sub('(?V1).*', 'x', 'test')
'xx'
>>> regex.sub('(?V0).*?', '|', 'test')
'|t|e|s|t|'
>>> regex.sub('(?V1).*?', '|', '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-2023.5.5.tar.gz (392.1 kB view details)

Uploaded Source

Built Distributions

regex-2023.5.5-cp311-cp311-win_amd64.whl (267.9 kB view details)

Uploaded CPython 3.11Windows x86-64

regex-2023.5.5-cp311-cp311-win32.whl (256.0 kB view details)

Uploaded CPython 3.11Windows x86

regex-2023.5.5-cp311-cp311-musllinux_1_1_x86_64.whl (750.2 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

regex-2023.5.5-cp311-cp311-musllinux_1_1_s390x.whl (773.9 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ s390x

regex-2023.5.5-cp311-cp311-musllinux_1_1_ppc64le.whl (768.5 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ ppc64le

regex-2023.5.5-cp311-cp311-musllinux_1_1_i686.whl (737.1 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ i686

regex-2023.5.5-cp311-cp311-musllinux_1_1_aarch64.whl (746.2 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ ARM64

regex-2023.5.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (780.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

regex-2023.5.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (806.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ s390x

regex-2023.5.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (821.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ppc64le

regex-2023.5.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (780.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

regex-2023.5.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (771.2 kB view details)

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

regex-2023.5.5-cp311-cp311-macosx_11_0_arm64.whl (288.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

regex-2023.5.5-cp311-cp311-macosx_10_9_x86_64.whl (294.5 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

regex-2023.5.5-cp310-cp310-win_amd64.whl (267.9 kB view details)

Uploaded CPython 3.10Windows x86-64

regex-2023.5.5-cp310-cp310-win32.whl (256.0 kB view details)

Uploaded CPython 3.10Windows x86

regex-2023.5.5-cp310-cp310-musllinux_1_1_x86_64.whl (741.3 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

regex-2023.5.5-cp310-cp310-musllinux_1_1_s390x.whl (763.4 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ s390x

regex-2023.5.5-cp310-cp310-musllinux_1_1_ppc64le.whl (759.9 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ ppc64le

regex-2023.5.5-cp310-cp310-musllinux_1_1_i686.whl (728.2 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ i686

regex-2023.5.5-cp310-cp310-musllinux_1_1_aarch64.whl (737.9 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ ARM64

regex-2023.5.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (769.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

regex-2023.5.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (794.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ s390x

regex-2023.5.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (809.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ppc64le

regex-2023.5.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (769.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

regex-2023.5.5-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (685.8 kB view details)

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

regex-2023.5.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (759.6 kB view details)

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

regex-2023.5.5-cp310-cp310-macosx_11_0_arm64.whl (288.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

regex-2023.5.5-cp310-cp310-macosx_10_9_x86_64.whl (294.4 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

regex-2023.5.5-cp39-cp39-win_amd64.whl (268.0 kB view details)

Uploaded CPython 3.9Windows x86-64

regex-2023.5.5-cp39-cp39-win32.whl (256.0 kB view details)

Uploaded CPython 3.9Windows x86

regex-2023.5.5-cp39-cp39-musllinux_1_1_x86_64.whl (741.0 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

regex-2023.5.5-cp39-cp39-musllinux_1_1_s390x.whl (762.8 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ s390x

regex-2023.5.5-cp39-cp39-musllinux_1_1_ppc64le.whl (759.2 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ ppc64le

regex-2023.5.5-cp39-cp39-musllinux_1_1_i686.whl (727.8 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ i686

regex-2023.5.5-cp39-cp39-musllinux_1_1_aarch64.whl (737.5 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ ARM64

regex-2023.5.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (769.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

regex-2023.5.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (794.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ s390x

regex-2023.5.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (809.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ppc64le

regex-2023.5.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (768.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

regex-2023.5.5-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (685.3 kB view details)

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

regex-2023.5.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (759.1 kB view details)

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

regex-2023.5.5-cp39-cp39-macosx_11_0_arm64.whl (288.9 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

regex-2023.5.5-cp39-cp39-macosx_10_9_x86_64.whl (294.4 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

regex-2023.5.5-cp38-cp38-win_amd64.whl (267.9 kB view details)

Uploaded CPython 3.8Windows x86-64

regex-2023.5.5-cp38-cp38-win32.whl (256.0 kB view details)

Uploaded CPython 3.8Windows x86

regex-2023.5.5-cp38-cp38-musllinux_1_1_x86_64.whl (747.3 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

regex-2023.5.5-cp38-cp38-musllinux_1_1_s390x.whl (769.4 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ s390x

regex-2023.5.5-cp38-cp38-musllinux_1_1_ppc64le.whl (766.4 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ ppc64le

regex-2023.5.5-cp38-cp38-musllinux_1_1_i686.whl (732.8 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ i686

regex-2023.5.5-cp38-cp38-musllinux_1_1_aarch64.whl (743.9 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ ARM64

regex-2023.5.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (771.9 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

regex-2023.5.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (795.4 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ s390x

regex-2023.5.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (811.7 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ppc64le

regex-2023.5.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (769.7 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

regex-2023.5.5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (691.8 kB view details)

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

regex-2023.5.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (760.9 kB view details)

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

regex-2023.5.5-cp38-cp38-macosx_11_0_arm64.whl (288.7 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

regex-2023.5.5-cp38-cp38-macosx_10_9_x86_64.whl (294.5 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

regex-2023.5.5-cp37-cp37m-win_amd64.whl (268.2 kB view details)

Uploaded CPython 3.7mWindows x86-64

regex-2023.5.5-cp37-cp37m-win32.whl (255.7 kB view details)

Uploaded CPython 3.7mWindows x86

regex-2023.5.5-cp37-cp37m-musllinux_1_1_x86_64.whl (729.5 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

regex-2023.5.5-cp37-cp37m-musllinux_1_1_s390x.whl (753.7 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ s390x

regex-2023.5.5-cp37-cp37m-musllinux_1_1_ppc64le.whl (751.6 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ ppc64le

regex-2023.5.5-cp37-cp37m-musllinux_1_1_i686.whl (718.5 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ i686

regex-2023.5.5-cp37-cp37m-musllinux_1_1_aarch64.whl (729.4 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ ARM64

regex-2023.5.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (756.6 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

regex-2023.5.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl (781.7 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ s390x

regex-2023.5.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (796.7 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ppc64le

regex-2023.5.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (754.3 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

regex-2023.5.5-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (676.3 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64manylinux: glibc 2.5+ x86-64

regex-2023.5.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (743.2 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

regex-2023.5.5-cp37-cp37m-macosx_10_9_x86_64.whl (294.8 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

regex-2023.5.5-cp36-cp36m-win_amd64.whl (279.7 kB view details)

Uploaded CPython 3.6mWindows x86-64

regex-2023.5.5-cp36-cp36m-win32.whl (262.7 kB view details)

Uploaded CPython 3.6mWindows x86

regex-2023.5.5-cp36-cp36m-musllinux_1_1_x86_64.whl (732.3 kB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ x86-64

regex-2023.5.5-cp36-cp36m-musllinux_1_1_s390x.whl (754.3 kB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ s390x

regex-2023.5.5-cp36-cp36m-musllinux_1_1_ppc64le.whl (750.9 kB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ ppc64le

regex-2023.5.5-cp36-cp36m-musllinux_1_1_i686.whl (718.4 kB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ i686

regex-2023.5.5-cp36-cp36m-musllinux_1_1_aarch64.whl (728.6 kB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ ARM64

regex-2023.5.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (756.0 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

regex-2023.5.5-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl (781.1 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ s390x

regex-2023.5.5-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (795.5 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ ppc64le

regex-2023.5.5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (754.9 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ ARM64

regex-2023.5.5-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (676.2 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.12+ x86-64manylinux: glibc 2.5+ x86-64

regex-2023.5.5-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (745.9 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

regex-2023.5.5-cp36-cp36m-macosx_10_9_x86_64.whl (295.0 kB view details)

Uploaded CPython 3.6mmacOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: regex-2023.5.5.tar.gz
  • Upload date:
  • Size: 392.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for regex-2023.5.5.tar.gz
Algorithm Hash digest
SHA256 7d76a8a1fc9da08296462a18f16620ba73bcbf5909e42383b253ef34d9d5141e
MD5 112d22df01c1ec73a462446b0b3b8bc1
BLAKE2b-256 775d98efc9cf46d60f3704cf00f8b3bd81319493639fd4367efb5d02fd29ffc1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2023.5.5-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 267.9 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for regex-2023.5.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 586a011f77f8a2da4b888774174cd266e69e917a67ba072c7fc0e91878178a80
MD5 7b35f37411aae795e140e7c2616599fb
BLAKE2b-256 78dba9fb9a194d340cb507aabae958280b8f8c24bd3038361b209fb7ded9b989

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2023.5.5-cp311-cp311-win32.whl
  • Upload date:
  • Size: 256.0 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for regex-2023.5.5-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 c8c143a65ce3ca42e54d8e6fcaf465b6b672ed1c6c90022794a802fb93105d22
MD5 47aa372edc57737bf3352b41a03396fe
BLAKE2b-256 dc15be319fd51cb9980ec1abf855e1b358e1b20e3655f3cec8cf5d58f8f924e5

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 811040d7f3dd9c55eb0d8b00b5dcb7fd9ae1761c454f444fd9f37fe5ec57143a
MD5 ce837b01f86a9cfb8b68965e0f44af79
BLAKE2b-256 6a36d5e3666b761525204dadfd8ad684c231e56c5936cbfd8359bd7ff1ba4383

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp311-cp311-musllinux_1_1_s390x.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp311-cp311-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 1ecf3dcff71f0c0fe3e555201cbe749fa66aae8d18f80d2cc4de8e66df37390a
MD5 e9530652c88f57b948afd3920be4a037
BLAKE2b-256 83bada371627cb5df2216f2022a51eea6728b5048319cd1c41c967134a0df3f3

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp311-cp311-musllinux_1_1_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp311-cp311-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 690a17db524ee6ac4a27efc5406530dd90e7a7a69d8360235323d0e5dafb8f5b
MD5 0a7560a7735f7ab6fbf1a9c1ef06603d
BLAKE2b-256 c0e638875874e79498c998f9a19476fb2bd152840a4c7f34517eb0ee8d6f1fb0

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp311-cp311-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 23d86ad2121b3c4fc78c58f95e19173790e22ac05996df69b84e12da5816cb17
MD5 98d8e4260c6594b191656facef1707cd
BLAKE2b-256 fb5fb1aad255ac39b12cd0c78ddaf4d55835653b0b0f790605e6117bbd8eb706

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp311-cp311-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 f764e4dfafa288e2eba21231f455d209f4709436baeebb05bdecfb5d8ddc3d35
MD5 50bf8a74be6528051f603494806ac624
BLAKE2b-256 37103e47ec258cd5319202cc11b2956bd52b1e8613240b276662d96aa4ba2f71

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 33d430a23b661629661f1fe8395be2004006bc792bb9fc7c53911d661b69dd7e
MD5 2d96228c0003f5443613728e0d13d3d0
BLAKE2b-256 6178d3e53ac70db4eeea69d51093c1c1667a58a72cb603fa094e721b35eaaf67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 18196c16a584619c7c1d843497c069955d7629ad4a3fdee240eb347f4a2c9dbe
MD5 0f3d5e306febd8e3b200592e09cb2e3e
BLAKE2b-256 0926925431262010b6e3efe962fa30a8cede87dd4c3f27d2c84c1ae3e54af5db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 445d6f4fc3bd9fc2bf0416164454f90acab8858cd5a041403d7a11e3356980e8
MD5 839ca2b6adc77ec00f3481ea6701dbc0
BLAKE2b-256 67e93d300456309174e7c431fd3575bb8e6c5d057d03f647cda787038c3cfb51

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f2910502f718828cecc8beff004917dcf577fc5f8f5dd40ffb1ea7612124547b
MD5 0466d9a0fc9db98864d2f594e57808c4
BLAKE2b-256 548d3e346fc5c6e63383c6e6a62a31e7b9cdf5d9539e127aa6f6a7f6b2e4d47e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 72a28979cc667e5f82ef433db009184e7ac277844eea0f7f4d254b789517941d
MD5 bb1a1e5a1d202cf3bf0a0f90bbaf468e
BLAKE2b-256 c53a3dc14c9b1c0a32f3ddf45d993233395d115a89923c2190c33920e316be3b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cd46f30e758629c3ee91713529cfbe107ac50d27110fdcc326a42ce2acf4dafc
MD5 92ec81c53ad4d7eba492946e41248ddc
BLAKE2b-256 f7d44c3eb7cdda7aafc3b17b620f5f52af985ed01a23b51ddadc639229e453b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8f08276466fedb9e36e5193a96cb944928301152879ec20c2d723d1031cd4ddd
MD5 c898066d2d4056a5ce123a4d167a826e
BLAKE2b-256 1f5aebddb94a8912c0cd08e9a501efb7fb9698fd011c49352a49516249f33643

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2023.5.5-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 267.9 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for regex-2023.5.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 59597cd6315d3439ed4b074febe84a439c33928dd34396941b4d377692eca810
MD5 895a8b0fe999993558678094322f19ec
BLAKE2b-256 a8e1581b12525a47073e38517aeb4621b4e189ac949158c3bf3f2a9c87fd4910

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2023.5.5-cp310-cp310-win32.whl
  • Upload date:
  • Size: 256.0 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for regex-2023.5.5-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 40005cbd383438aecf715a7b47fe1e3dcbc889a36461ed416bdec07e0ef1db66
MD5 41152a8341163fd3e3ae6903bc100033
BLAKE2b-256 5156cc303c524837c15aa305ea00cc898b57add23f7db9753f8856a351dda54f

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 0bbd5dcb19603ab8d2781fac60114fb89aee8494f4505ae7ad141a3314abb1f9
MD5 15cad5fe33638b329af32fc29e900bb6
BLAKE2b-256 ebd5d992d17a298f3d4ec93f63437e2cca60924f924e4404ad5affd6d5e3892c

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp310-cp310-musllinux_1_1_s390x.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp310-cp310-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 ba73a14e9c8f9ac409863543cde3290dba39098fc261f717dc337ea72d3ebad2
MD5 ace73c983b30f10bfb09445d9e763cb9
BLAKE2b-256 de0171793c90f543c97848d09a9993ac6039a95190d92d69dce5bfb50b309462

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp310-cp310-musllinux_1_1_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp310-cp310-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 59e4b729eae1a0919f9e4c0fc635fbcc9db59c74ad98d684f4877be3d2607dd6
MD5 41d5723cdfa588548b1cd33e745b830b
BLAKE2b-256 0b15b0857fc4ccfc3f0262bfc580f0c3338ce11ab050879201fc16ee716890fe

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp310-cp310-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 5e3f4468b8c6fd2fd33c218bbd0a1559e6a6fcf185af8bb0cc43f3b5bfb7d636
MD5 47ae6a74e824c4f71f33d2a6e5cc2322
BLAKE2b-256 f95ff6b642b6b8be39e3bd081992b11bed06e78604431bce64e412b3d0735253

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp310-cp310-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 a4c5da39bca4f7979eefcbb36efea04471cd68db2d38fcbb4ee2c6d440699833
MD5 c64b1e37844df6391d5487b8ccb327d6
BLAKE2b-256 539527d4887cf0cd2c6e94920bcc5877280cb943888686db85049df18a66e4dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aad5524c2aedaf9aa14ef1bc9327f8abd915699dea457d339bebbe2f0d218f86
MD5 3deaa4bbbd027b3ee4fb3400574f8675
BLAKE2b-256 7c81b064cc2c67ca2182137641f9d3fd47fe470f1a84674d9b9f91fd39bf0e6f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 171c52e320fe29260da550d81c6b99f6f8402450dc7777ef5ced2e848f3b6f8f
MD5 db7c30af340c85ea4288f678a6514bc6
BLAKE2b-256 eb0def48969f8626d3cbc8a82b8e9d46abe6294ca51f4bdcf2bb3a50cded4089

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 4b870b6f632fc74941cadc2a0f3064ed8409e6f8ee226cdfd2a85ae50473aa94
MD5 470d8521b32d7414047a8d391eaf2259
BLAKE2b-256 d002b3a2c110ed3d51c0138e12fa555920c3c81693ec9b5fb8dd229c6482355c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 53e22e4460f0245b468ee645156a4f84d0fc35a12d9ba79bd7d79bdcd2f9629d
MD5 b65d20f13126020f6f2288db4ef534e6
BLAKE2b-256 169a2ddd037546c1f6446b26bd9037f4b551c2f38e250038388626e5da88e7f1

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-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-2023.5.5-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 e645c757183ee0e13f0bbe56508598e2d9cd42b8abc6c0599d53b0d0b8dd1479
MD5 fcc617f604e387fbfb5607d845709105
BLAKE2b-256 33a812bdc84d78e2748cc7c2d990317930fe05e421937f42a05e9621a2d90a89

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5a0f874ee8c0bc820e649c900243c6d1e6dc435b81da1492046716f14f1a2a96
MD5 c6207829163e6ecc4bf07b6bd871230d
BLAKE2b-256 e40acc8a552c9ef9f65e07398a077872d7a9b611e663f4d7af4cbd63676d84c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 02f4541550459c08fdd6f97aa4e24c6f1932eec780d58a2faa2068253df7d6ff
MD5 f4285e71add858de095b9b906f4fcd2d
BLAKE2b-256 6a369ac9b08bc8bbe006041cc2155347b4a29593d448941d036ea8b8023a6add

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 48c9ec56579d4ba1c88f42302194b8ae2350265cb60c64b7b9a88dcb7fbde309
MD5 52ac632a666ae916a8fe961c3d0ecc22
BLAKE2b-256 ac63a6301bcb744b45756796fd35080d6dc0e2453cfdca28bee63fff20c239a4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2023.5.5-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 268.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for regex-2023.5.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 1307aa4daa1cbb23823d8238e1f61292fd07e4e5d8d38a6efff00b67a7cdb764
MD5 2e8ecb34a4b69b7c4054655f6286a7b1
BLAKE2b-256 aa1aaaf87f92c6d911256e7ddd78a80db2b089d7a15d30d82d26853c3ef5bedb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2023.5.5-cp39-cp39-win32.whl
  • Upload date:
  • Size: 256.0 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for regex-2023.5.5-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 732176f5427e72fa2325b05c58ad0b45af341c459910d766f814b0584ac1f9ac
MD5 eb46fe2ca9491c155eb1a62390444687
BLAKE2b-256 3b0fd3bd4ad92c1c530c344414b1438d826da72825d41b64db397e903aa7c260

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 290fd35219486dfbc00b0de72f455ecdd63e59b528991a6aec9fdfc0ce85672e
MD5 4859aa51c86813bf165c3388eea4ebfa
BLAKE2b-256 9370027e3599cb021b1462dcb4b4c5b8233dbfd8e4779eaf7738871b27c630cc

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp39-cp39-musllinux_1_1_s390x.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp39-cp39-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 de2f780c3242ea114dd01f84848655356af4dd561501896c751d7b885ea6d3a1
MD5 5594f6c41e02175674db45bd8cf4dba5
BLAKE2b-256 9148d2a23b461b7136df911ab50412a3e480ecf4c8b5caf8c6185244da6af7af

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp39-cp39-musllinux_1_1_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp39-cp39-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 72aa4746993a28c841e05889f3f1b1e5d14df8d3daa157d6001a34c98102b393
MD5 56ab1771f6a447b5342929564f8c8e62
BLAKE2b-256 a0ddce702f781c4fdd4dca86bda1f842f64e68c75840eba7beb5556f91c8b70d

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp39-cp39-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 f83fe9e10f9d0b6cf580564d4d23845b9d692e4c91bd8be57733958e4c602956
MD5 997f4f3f85ef1a4c9ad6cab957b417aa
BLAKE2b-256 2ab65d44a38161062c48b8db4742bb7076315b08d267bbdfe77b1f8bee02f85a

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp39-cp39-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 1189fbbb21e2c117fda5303653b61905aeeeea23de4a94d400b0487eb16d2d60
MD5 d87f3ba0a1fbbc9441dc4232be95ec76
BLAKE2b-256 2b06ee0731f71dd2825393e56da78af9114eee083686105cc635daab2ab1b7d6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 84397d3f750d153ebd7f958efaa92b45fea170200e2df5e0e1fd4d85b7e3f58a
MD5 cc610532a876611606f01a3f740d25fe
BLAKE2b-256 c686f0bb334088b102e2bb3528b502d3c0c0a7301cbc2c8d2e0304ec4b1964d7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 6164d4e2a82f9ebd7752a06bd6c504791bedc6418c0196cd0a23afb7f3e12b2d
MD5 8ae6439060f893c55843e2eaa8f073c2
BLAKE2b-256 c9e4d82c1a857a5346a37c4a72af6d995f6aeea1f17d6163a39d68c6362d6143

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 db09e6c18977a33fea26fe67b7a842f706c67cf8bda1450974d0ae0dd63570df
MD5 d642b32af4e76a79c66e74e31648843c
BLAKE2b-256 441cbbe0e8507361ce6f70902dbf6c23839ab548364c95dfaefe3c7fdf60cc49

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bd966475e963122ee0a7118ec9024388c602d12ac72860f6eea119a3928be053
MD5 34d67a5639cb68fe051a52ae8d9a1af5
BLAKE2b-256 8a0c65a0809640bcbb2e55c8c1c87ee300ab90481130676c26a4581985a6705e

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-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-2023.5.5-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 144b5b017646b5a9392a5554a1e5db0000ae637be4971c9747566775fc96e1b2
MD5 c4a75864fc8e739aaf8b6de597f6ed99
BLAKE2b-256 61f84f94b89fbacfd301ab1b96fc54d3d942260202701f25a4c549b2c5406dbe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9c3efee9bb53cbe7b285760c81f28ac80dc15fa48b5fe7e58b52752e642553f1
MD5 dc3178ff240d806ab824a9bb7d147bba
BLAKE2b-256 e338d7873187b26f1bedcb2db83b458156c348878844c0c293a74fc5e219b7e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d19e57f888b00cd04fc38f5e18d0efbd91ccba2d45039453ab2236e6eec48d4d
MD5 6e9b9d9cbb503b335a2ac66ec95e426d
BLAKE2b-256 f03c99f8edd0feb2e97117d6e797a99455529d9ff725e45b9b902b0b2c1d02d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 50fd2d9b36938d4dcecbd684777dd12a407add4f9f934f235c66372e630772b0
MD5 ae0f34be1ad010f353ef486efae1b099
BLAKE2b-256 9023ff74c6c56fe82e1fa398b8a7f73e81848b05cbefe5af99f22f0f4b25e57c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2023.5.5-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 267.9 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for regex-2023.5.5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 4035d6945cb961c90c3e1c1ca2feb526175bcfed44dfb1cc77db4fdced060d3e
MD5 aa82c5f61209ce8684d4eabac7a8cfd2
BLAKE2b-256 f7bda1cf5020abc1fbbc71bde9b645748f6dcd0f5303f7fc907ce54e09e823e6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2023.5.5-cp38-cp38-win32.whl
  • Upload date:
  • Size: 256.0 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for regex-2023.5.5-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 7923470d6056a9590247ff729c05e8e0f06bbd4efa6569c916943cb2d9b68b91
MD5 634bd5769bf3da3360195e4b0017328c
BLAKE2b-256 2ddbd6e9577d4935e8bd6519fc502a3d032f4dabf6175b04f68a3e2e1dad244f

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 c64d5abe91a3dfe5ff250c6bb267ef00dbc01501518225b45a5f9def458f31fb
MD5 8286372cd7f3a7634348180832456bd5
BLAKE2b-256 f9d5e31e1f8e3bad5fa2c988915e52f5899b0d5aa7ac823414ef0242c2454462

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp38-cp38-musllinux_1_1_s390x.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp38-cp38-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 6893544e06bae009916a5658ce7207e26ed17385149f35a3125f5259951f1bbe
MD5 1fb296c37f1feef82ff4431fb686481f
BLAKE2b-256 5baac63c8b23cca132c1688078ccc56c0654cd3cbc6a639d0ac9fa8e48d8b7de

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp38-cp38-musllinux_1_1_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp38-cp38-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 4a5059bd585e9e9504ef9c07e4bc15b0a621ba20504388875d66b8b30a5c4d18
MD5 30c94cea1e969707363f90f6186aae8f
BLAKE2b-256 a9bbf37e451ab9870090f50eba06b118e3ed000d53940ebd97decfbf89ff4ade

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp38-cp38-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 bd7b68fd2e79d59d86dcbc1ccd6e2ca09c505343445daaa4e07f43c8a9cc34da
MD5 f80c688224b816a8880915f171e6b85a
BLAKE2b-256 9b057fe34981c97401ab999f2bdc39b45578308748b1db69b27cb3cc1f034a8f

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp38-cp38-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 256f7f4c6ba145f62f7a441a003c94b8b1af78cee2cccacfc1e835f93bc09426
MD5 878a3cd23828a3d5b6f63f3f2585e247
BLAKE2b-256 0d3ca61379572196a04a866c0013c500576b001832533bc12f80ec13c6872c22

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d1cbe6b5be3b9b698d8cc4ee4dee7e017ad655e83361cd0ea8e653d65e469468
MD5 e14fe90995fe3f592bb0db97731c4328
BLAKE2b-256 e07c941e5c89bbbcd6ba460444c6ec029d54e7147741078f1c8300a8cbf8abb9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 ced02e3bd55e16e89c08bbc8128cff0884d96e7f7a5633d3dc366b6d95fcd1d6
MD5 d7409fc615595da68d2179e5eca5eef2
BLAKE2b-256 18ba538b878727ab58a55cad175ab5aececb979c21b8b1e1830094f35ac66882

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 a623564d810e7a953ff1357f7799c14bc9beeab699aacc8b7ab7822da1e952b8
MD5 02e135bafa73d8a101243cccd2f81f64
BLAKE2b-256 35d733315abe1555850bfdf9cae6175344858b6614fb9a0bca58c8102dd42a42

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a99757ad7fe5c8a2bb44829fc57ced11253e10f462233c1255fe03888e06bc19
MD5 46ac46befa7edc6e8bed1c21ce86061d
BLAKE2b-256 5f329a6c6af6f6013a7bfe12469a910f577ac27d6c6767adef69ebf798f07a7f

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-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-2023.5.5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 2e9c4f778514a560a9c9aa8e5538bee759b55f6c1dcd35613ad72523fd9175b8
MD5 01b0363a662ea18e210d7bb0045664c1
BLAKE2b-256 575e6dff6880b5ab4aa6e9e6f658b34de97ad4cba6488a8ad7328acb3b689daa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 4a6e4b0e0531223f53bad07ddf733af490ba2b8367f62342b92b39b29f72735a
MD5 354274a5761b4f49be3d4039db28aa85
BLAKE2b-256 fa8421e97a9fd11d2156fc23b1b438514a3d6a40834c355d880c081a998f2eea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cf123225945aa58b3057d0fba67e8061c62d14cc8a4202630f8057df70189051
MD5 3fa07b5120401b2e4d532d71db5bb568
BLAKE2b-256 273069a2eb2a74c5098f3ff69e52c44f739f11fc19ecea84ce69ed6073bda9d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.5.5-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 afb1c70ec1e594a547f38ad6bf5e3d60304ce7539e677c1429eebab115bce56e
MD5 0090af239ed8063a541ad9572cca2a51
BLAKE2b-256 e1d276a59a6483c32f5aa658fa8e56ec9dbe6e6025aba0270ce337e7fe5d965e

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: regex-2023.5.5-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 268.2 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for regex-2023.5.5-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 9b320677521aabf666cdd6e99baee4fb5ac3996349c3b7f8e7c4eee1c00dfe3a
MD5 d56e78bf20697df298bda0c9fd40fb51
BLAKE2b-256 abcb8518e23ada66106aaeddf551c7a5539854bf6782b13d453ac5ae7f244c59

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp37-cp37m-win32.whl.

File metadata

  • Download URL: regex-2023.5.5-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 255.7 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for regex-2023.5.5-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 10374c84ee58c44575b667310d5bbfa89fb2e64e52349720a0182c0017512f6c
MD5 d47715dbba53b456766348e60d7eff16
BLAKE2b-256 e2ff80f795d39a4f7afc4c0912f57fdf7d3ae39d964d949bb0e6ea9e2eafb077

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 6b8d0c153f07a953636b9cdb3011b733cadd4178123ef728ccc4d5969e67f3c2
MD5 174aec4186e39ea0c4729c09f0b0b168
BLAKE2b-256 452703118528e248b3a6df85d8bbc87bea77d5324488ae27f387aafaa7cc24e6

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp37-cp37m-musllinux_1_1_s390x.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp37-cp37m-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 10250a093741ec7bf74bcd2039e697f519b028518f605ff2aa7ac1e9c9f97423
MD5 80756e675a741dd757a25cff625a8a7e
BLAKE2b-256 c7175b76862f602277d33b2beeeba202657f6f1c1ed35c59466f4061bb0a97bd

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp37-cp37m-musllinux_1_1_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp37-cp37m-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 21e90a288e6ba4bf44c25c6a946cb9b0f00b73044d74308b5e0afd190338297c
MD5 1a9fe024050e50a88de6270ed33be301
BLAKE2b-256 80f62edf65ed793b9d5ba39083776b83481c41555a2ad57bf6b6934c4d7dd9a8

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp37-cp37m-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 3d45864693351c15531f7e76f545ec35000d50848daa833cead96edae1665559
MD5 911fcc881670dd9399db66fca8ec2393
BLAKE2b-256 aa9a4eebbfedf7f0a3ae14307a9f7fb65bfe853b32b0f209e31bc21a548d3016

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp37-cp37m-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 aa7d032c1d84726aa9edeb6accf079b4caa87151ca9fabacef31fa028186c66d
MD5 b4b9f4bd67fbefcaecb073f549e9062d
BLAKE2b-256 f6e65ebc73b4f1c9712369b30cc8f808cea1172bd5bcc1b025ddc9a7cf95a2d0

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9fda3e50abad8d0f48df621cf75adc73c63f7243cbe0e3b2171392b445401550
MD5 e1efe6fb43054e9ff645630d35ac9e8f
BLAKE2b-256 5e154ac85a6ce5c46223e312de2a38137f7ff1e6c5b4b233054cd7e72466345b

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 a8906669b03c63266b6a7693d1f487b02647beb12adea20f8840c1a087e2dfb5
MD5 d7effa44099e0c5fccb21b4e6235243e
BLAKE2b-256 a09034880cf20e335921095ba9ca8a5dce273c10ee70b970a7cd71f4d5eb1a8e

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 8f5e06df94fff8c4c85f98c6487f6636848e1dc85ce17ab7d1931df4a081f657
MD5 adb91279832163e148316555fdef2815
BLAKE2b-256 2335af9d7cd565526173cac5ec76549429f18476d64335c8fa8338f5f080cc13

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0a69cf0c00c4d4a929c6c7717fd918414cab0d6132a49a6d8fc3ded1988ed2ea
MD5 61aa21c663d4bcb036d78a6e0f56ed67
BLAKE2b-256 2ab2ff7e8650aad92b2486c27ba1bb87c473a7b000304a2e7cb9892f597aeca8

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 fb2b495dd94b02de8215625948132cc2ea360ae84fe6634cd19b6567709c8ae2
MD5 422d1826ca9c092b58fa2b119d618696
BLAKE2b-256 4efadd1b555c71aa7d6e834165c882cefdafd9865eee990985aba01990a7280c

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5ac2b7d341dc1bd102be849d6dd33b09701223a851105b2754339e390be0627a
MD5 6bddc55a26a77154f454c3c90e697814
BLAKE2b-256 8007518121c35e002a73f8fb75fcac23f9c6a5a1784c149e9bcb98d3ec6bca78

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 338994d3d4ca4cf12f09822e025731a5bdd3a37aaa571fa52659e85ca793fb67
MD5 f949aa11cc0afcd2327a56abe7315bfe
BLAKE2b-256 a223c9a511f32618ab757e6775c0e5c63a01fd17056c1158e72ea7845d796133

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: regex-2023.5.5-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 279.7 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for regex-2023.5.5-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 7918a1b83dd70dc04ab5ed24c78ae833ae8ea228cef84e08597c408286edc926
MD5 b6844c7ff6bbb3ad04d04e92aced43e3
BLAKE2b-256 7987da8099926c2d627839159126ed5a58980b18408b9304110435b7ec06bfc6

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp36-cp36m-win32.whl.

File metadata

  • Download URL: regex-2023.5.5-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 262.7 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for regex-2023.5.5-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 821a88b878b6589c5068f4cc2cfeb2c64e343a196bc9d7ac68ea8c2a776acd46
MD5 33de720e60e085f5077e626237270354
BLAKE2b-256 44a2b3eae40cab9864fc784a4c1709cafa95db47d875a2297b70daf1afd7fbe6

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp36-cp36m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 890a09cb0a62198bff92eda98b2b507305dd3abf974778bae3287f98b48907d3
MD5 141e68cfe69b28e0944ac41f43446f37
BLAKE2b-256 ded4e44c3b5e5934ae90c67036e8d80ebc0ced7a8702e2dd1afd31b0c564f3fc

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp36-cp36m-musllinux_1_1_s390x.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp36-cp36m-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 385992d5ecf1a93cb85adff2f73e0402dd9ac29b71b7006d342cc920816e6f32
MD5 49c77c1350bfebc4c489833f47f32f71
BLAKE2b-256 be42ffde1f44c3fa2ecbe285ee2f5949b491b0ac2a18dc13327f34e249e2a9a3

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp36-cp36m-musllinux_1_1_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp36-cp36m-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 e2205a81f815b5bb17e46e74cc946c575b484e5f0acfcb805fb252d67e22938d
MD5 7e6f27c1a476f4b7d7770c315fc34513
BLAKE2b-256 7886530a560a506ef8c461fb055c1fed355aed79caa6f7de04ae83f7b7be0bda

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp36-cp36m-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 921473a93bcea4d00295799ab929522fc650e85c6b9f27ae1e6bb32a790ea7d3
MD5 8857d3c6882ad979c9f83f4a83134224
BLAKE2b-256 83ff7164610b30e447e3bb86171f95cf3172a013e475472c8b7a22314bdb54cc

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp36-cp36m-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp36-cp36m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 941b3f1b2392f0bcd6abf1bc7a322787d6db4e7457be6d1ffd3a693426a755f2
MD5 f080b8dbeda12b7a37d706552e0df993
BLAKE2b-256 c326a561242ece9b3a84d60e1fc5d07f7ba1f64729bad37687094d5d83553de8

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c2ce65bdeaf0a386bb3b533a28de3994e8e13b464ac15e1e67e4603dd88787fa
MD5 c0b71012d237a85b5def7f39dc33b534
BLAKE2b-256 ae4b9926dd761af4aa8e703ccef72ce7d3a5599e36153f871a270aeb68dab8ba

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 844671c9c1150fcdac46d43198364034b961bd520f2c4fdaabfc7c7d7138a2dd
MD5 0ec0706d296f5b0eaa186cd567283683
BLAKE2b-256 8dd54d56a7655dcec858d697f0fa9b7eb1ff30ec4ed5a445fe60a432955cc30b

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 b8b942d8b3ce765dbc3b1dad0a944712a89b5de290ce8f72681e22b3c55f3cc8
MD5 a4a73d8ab61dcc7a19527d939eff3d14
BLAKE2b-256 b8bcdc3b8c54628635802192f4b1fe4934f279da24692655ee203463e5326482

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a56c18f21ac98209da9c54ae3ebb3b6f6e772038681d6cb43b8d53da3b09ee81
MD5 39392d3846211634d2f48d03fb975937
BLAKE2b-256 02b7af3253bc0173045f9df1f8492705823ddf85150f71a52a51fd622796ae66

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 18f05d14f14a812fe9723f13afafefe6b74ca042d99f8884e62dbd34dcccf3e2
MD5 39cf58812ca88c8ab241b78bc5fa225e
BLAKE2b-256 41fb2eee67ebd59417a0a329ae5ae88b6a1bded20e66693c1851adf9cfcb065a

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 fee0016cc35a8a91e8cc9312ab26a6fe638d484131a7afa79e1ce6165328a135
MD5 3d63954bd9a852a7a7a38cf63f6c37c1
BLAKE2b-256 0136aedf96310757fa5a421749be911ed750077171930f439a233bfd8f87e43c

See more details on using hashes here.

File details

Details for the file regex-2023.5.5-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for regex-2023.5.5-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b6365703e8cf1644b82104cdd05270d1a9f043119a168d66c55684b1b557d008
MD5 8158345297014b0a54138b8333a592e5
BLAKE2b-256 7f2a5d4c1315e17eb54e8524952b80a03308735a5e6d3288ba04b19845b56f92

See more details on using hashes here.

Supported by

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