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 will follow that behaviour when compiled for Python 3.7.

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.

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 or V0 flag, or (?V0) in the pattern.

    • 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 or V1 flag, or (?V1) in the pattern.

    • 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 or F flag, or (?f) in the pattern. Please note that this flag affects how the IGNORECASE flag works; the FULLCASE flag itself does not turn on case-insensitive matching.

In the version 0 behaviour, the flag is off by default.

In the 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.

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: FULLCASE, IGNORECASE, MULTILINE, DOTALL, VERBOSE, WORD.

The global flags are: ASCII, BESTMATCH, ENHANCEMATCH, LOCALE, POSIX, REVERSE, UNICODE, VERSION0, VERSION1.

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.

Notes on named capture groups

All capture 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 of 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 capture 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).

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 14.0.0.

Full Unicode case-folding is supported.

Additional features

The issue numbers relate to the Python bug tracker, except where listed as “Hg issue”.

Added support for lookaround in conditional pattern (Hg issue 163)

The test of a conditional pattern can now be a lookaround.

Examples:

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

Examples:

>>> 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 ((?p)).

Examples:

>>> # 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, but any group definitions within it will be available.

Examples:

>>> 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 capture groups return.

Examples:

>>> 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 now use subscripting to get the captures of a repeated capture group.

Examples:

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

Examples:

# 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.

Examples:

>>> 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']}

Allow duplicate names of groups (Hg issue 87)

Group names can now be duplicated.

Examples:

>>> # 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.

Examples:

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

Examples:

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

Examples:

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

Example:

>>> 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 capture group.

(?&name) tries to match the named capture group.

Examples:

>>> 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 capture group is reused, but is _not_ itself a capture 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.

Examples (in Python 3):

>>> 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 (Hg issue 11)

\L<name>

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)
# Python 3
{'options': frozenset({'fifth', 'first', 'fourth', 'second', 'third'})}
# Python 2
{'options': frozenset(['fifth', 'fourth', 'second', 'third', 'first'])}

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:\Python37\lib\site-packages\regex\regex.py", line 348, in compile
    return _compile(pattern, flags, ignore_unused, kwargs)
  File "C:\Python37\lib\site-packages\regex\regex.py", line 585, in _compile
    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)
>>>

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.

Examples:

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

Examples:

>>> 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 capture 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]).

Examples:

>>> 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 of 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 now 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 for groups

A match object accepts access to the captured 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 current (?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: only those known by Python’s Unicode database are supported.)

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 2 letters ‘ab’.

  • The search continues at position 2 and matches 2 letters ‘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 now work backwards:

>>> regex.findall(r".", "abc")
['a', 'b', 'c']
>>> regex.findall(r"(?r).", "abc")
['c', 'b', 'a']

Note: 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 now conforms to the Unicode specification at http://www.unicode.org/reports/tr29/.

Branch reset

(?|...|...)

Capture group numbers will be reused across the alternatives, but groups with different names will have different group numbers.

Examples:

>>> 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 (Python 3)

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:\Python37\lib\site-packages\regex\regex.py", line 276, in sub
    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-2021.11.10.tar.gz (702.8 kB view details)

Uploaded Source

Built Distributions

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

regex-2021.11.10-cp310-cp310-win_amd64.whl (273.3 kB view details)

Uploaded CPython 3.10Windows x86-64

regex-2021.11.10-cp310-cp310-win32.whl (257.0 kB view details)

Uploaded CPython 3.10Windows x86

regex-2021.11.10-cp310-cp310-musllinux_1_1_x86_64.whl (732.6 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

regex-2021.11.10-cp310-cp310-musllinux_1_1_s390x.whl (756.2 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ s390x

regex-2021.11.10-cp310-cp310-musllinux_1_1_ppc64le.whl (755.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ ppc64le

regex-2021.11.10-cp310-cp310-musllinux_1_1_i686.whl (721.3 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ i686

regex-2021.11.10-cp310-cp310-musllinux_1_1_aarch64.whl (732.1 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ ARM64

regex-2021.11.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (764.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

regex-2021.11.10-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (788.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ s390x

regex-2021.11.10-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (801.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ppc64le

regex-2021.11.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (761.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

regex-2021.11.10-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (677.6 kB view details)

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

regex-2021.11.10-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (752.8 kB view details)

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

regex-2021.11.10-cp310-cp310-macosx_11_0_arm64.whl (279.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

regex-2021.11.10-cp310-cp310-macosx_10_9_x86_64.whl (288.3 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

regex-2021.11.10-cp39-cp39-win_amd64.whl (273.3 kB view details)

Uploaded CPython 3.9Windows x86-64

regex-2021.11.10-cp39-cp39-win32.whl (257.0 kB view details)

Uploaded CPython 3.9Windows x86

regex-2021.11.10-cp39-cp39-musllinux_1_1_x86_64.whl (732.5 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

regex-2021.11.10-cp39-cp39-musllinux_1_1_s390x.whl (755.6 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ s390x

regex-2021.11.10-cp39-cp39-musllinux_1_1_ppc64le.whl (755.3 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ ppc64le

regex-2021.11.10-cp39-cp39-musllinux_1_1_i686.whl (720.8 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ i686

regex-2021.11.10-cp39-cp39-musllinux_1_1_aarch64.whl (731.4 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ ARM64

regex-2021.11.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (763.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

regex-2021.11.10-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (787.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ s390x

regex-2021.11.10-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (800.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ppc64le

regex-2021.11.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (760.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

regex-2021.11.10-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (677.0 kB view details)

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

regex-2021.11.10-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (752.3 kB view details)

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

regex-2021.11.10-cp39-cp39-macosx_11_0_arm64.whl (279.9 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

regex-2021.11.10-cp39-cp39-macosx_10_9_x86_64.whl (288.3 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

regex-2021.11.10-cp38-cp38-win_amd64.whl (273.3 kB view details)

Uploaded CPython 3.8Windows x86-64

regex-2021.11.10-cp38-cp38-win32.whl (257.0 kB view details)

Uploaded CPython 3.8Windows x86

regex-2021.11.10-cp38-cp38-musllinux_1_1_x86_64.whl (739.9 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

regex-2021.11.10-cp38-cp38-musllinux_1_1_s390x.whl (759.8 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ s390x

regex-2021.11.10-cp38-cp38-musllinux_1_1_ppc64le.whl (760.8 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ ppc64le

regex-2021.11.10-cp38-cp38-musllinux_1_1_i686.whl (725.8 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ i686

regex-2021.11.10-cp38-cp38-musllinux_1_1_aarch64.whl (735.9 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ ARM64

regex-2021.11.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (764.7 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

regex-2021.11.10-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (790.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ s390x

regex-2021.11.10-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (804.6 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ppc64le

regex-2021.11.10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (764.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

regex-2021.11.10-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (683.4 kB view details)

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

regex-2021.11.10-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (752.8 kB view details)

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

regex-2021.11.10-cp38-cp38-macosx_11_0_arm64.whl (279.9 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

regex-2021.11.10-cp38-cp38-macosx_10_9_x86_64.whl (288.5 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

regex-2021.11.10-cp37-cp37m-win_amd64.whl (272.6 kB view details)

Uploaded CPython 3.7mWindows x86-64

regex-2021.11.10-cp37-cp37m-win32.whl (256.7 kB view details)

Uploaded CPython 3.7mWindows x86

regex-2021.11.10-cp37-cp37m-musllinux_1_1_x86_64.whl (724.5 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

regex-2021.11.10-cp37-cp37m-musllinux_1_1_s390x.whl (744.5 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ s390x

regex-2021.11.10-cp37-cp37m-musllinux_1_1_ppc64le.whl (744.4 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ ppc64le

regex-2021.11.10-cp37-cp37m-musllinux_1_1_i686.whl (711.2 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ i686

regex-2021.11.10-cp37-cp37m-musllinux_1_1_aarch64.whl (721.4 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ ARM64

regex-2021.11.10-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (749.1 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

regex-2021.11.10-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl (775.5 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ s390x

regex-2021.11.10-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (787.3 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ppc64le

regex-2021.11.10-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (746.5 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

regex-2021.11.10-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (670.8 kB view details)

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

regex-2021.11.10-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (736.7 kB view details)

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

regex-2021.11.10-cp37-cp37m-macosx_10_9_x86_64.whl (288.8 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

regex-2021.11.10-cp36-cp36m-win_amd64.whl (272.9 kB view details)

Uploaded CPython 3.6mWindows x86-64

regex-2021.11.10-cp36-cp36m-win32.whl (256.9 kB view details)

Uploaded CPython 3.6mWindows x86

regex-2021.11.10-cp36-cp36m-musllinux_1_1_x86_64.whl (726.2 kB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ x86-64

regex-2021.11.10-cp36-cp36m-musllinux_1_1_s390x.whl (745.1 kB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ s390x

regex-2021.11.10-cp36-cp36m-musllinux_1_1_ppc64le.whl (744.0 kB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ ppc64le

regex-2021.11.10-cp36-cp36m-musllinux_1_1_i686.whl (710.9 kB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ i686

regex-2021.11.10-cp36-cp36m-musllinux_1_1_aarch64.whl (721.7 kB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ ARM64

regex-2021.11.10-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (749.0 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

regex-2021.11.10-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl (775.9 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ s390x

regex-2021.11.10-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (786.8 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ ppc64le

regex-2021.11.10-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (746.8 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ ARM64

regex-2021.11.10-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (670.9 kB view details)

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

regex-2021.11.10-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (737.1 kB view details)

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

regex-2021.11.10-cp36-cp36m-macosx_10_9_x86_64.whl (288.9 kB view details)

Uploaded CPython 3.6mmacOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: regex-2021.11.10.tar.gz
  • Upload date:
  • Size: 702.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for regex-2021.11.10.tar.gz
Algorithm Hash digest
SHA256 f341ee2df0999bfdf7a95e448075effe0db212a59387de1a70690e4acb03d4c6
MD5 695d34b744803d28e7d976c71a2179ea
BLAKE2b-256 97cd93ad08b2f97ec95da0bd860380ce0ac7481eaccc760356ee11eda369c048

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 273.3 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for regex-2021.11.10-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 780b48456a0f0ba4d390e8b5f7c661fdd218934388cde1a974010a965e200e12
MD5 1101f8c776e1f09102e85e73e217507f
BLAKE2b-256 60a2fef4d3c26a5d14f9ea09bec2ca99ee7a6514dc3f0878dcc62904443e7011

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp310-cp310-win32.whl
  • Upload date:
  • Size: 257.0 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for regex-2021.11.10-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 98ba568e8ae26beb726aeea2273053c717641933836568c2a0278a84987b2a1a
MD5 4c6230373960d0c697df474f267c9d13
BLAKE2b-256 a34ef3b67cccf3c57aaa1073143e48afbab391f05acf6228e3278c74892b712d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp310-cp310-musllinux_1_1_x86_64.whl
  • Upload date:
  • Size: 732.6 kB
  • Tags: CPython 3.10, musllinux: musl 1.1+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2021.11.10-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 5d408a642a5484b9b4d11dea15a489ea0928c7e410c7525cd892f4d04f2f617b
MD5 cd9b1e246cf2d9d4e6b90b44020cab06
BLAKE2b-256 3ef6b28b83f2d098b6b4703ef952dd9b37ba02095d48b0863c62cd7375de2faa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp310-cp310-musllinux_1_1_s390x.whl
  • Upload date:
  • Size: 756.2 kB
  • Tags: CPython 3.10, musllinux: musl 1.1+ s390x
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2021.11.10-cp310-cp310-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 d5fd67df77bab0d3f4ea1d7afca9ef15c2ee35dfb348c7b57ffb9782a6e4db6e
MD5 0e8cb7ca325ac37408c159e77715e748
BLAKE2b-256 2303b000081da9e536bb287533115c3a3424ee47f617d613327a1d7ad5a98b4c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp310-cp310-musllinux_1_1_ppc64le.whl
  • Upload date:
  • Size: 755.8 kB
  • Tags: CPython 3.10, musllinux: musl 1.1+ ppc64le
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2021.11.10-cp310-cp310-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 2fee3ed82a011184807d2127f1733b4f6b2ff6ec7151d83ef3477f3b96a13d03
MD5 b9a7640aca9a52c7c631521274106ccf
BLAKE2b-256 8fa1421adcca10d4c5894882bfbf0f7463500defc719da3f5d9a4d2d60b5e882

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp310-cp310-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 721.3 kB
  • Tags: CPython 3.10, musllinux: musl 1.1+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2021.11.10-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 473e67837f786404570eae33c3b64a4b9635ae9f00145250851a1292f484c063
MD5 12cbb8affd58f20a687d1866ee20b8d0
BLAKE2b-256 5034a3696746c217090267d966b1d136710490850f499254f60f1a4d262f953a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp310-cp310-musllinux_1_1_aarch64.whl
  • Upload date:
  • Size: 732.1 kB
  • Tags: CPython 3.10, musllinux: musl 1.1+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2021.11.10-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 b9ed0b1e5e0759d6b7f8e2f143894b2a7f3edd313f38cf44e1e15d360e11749b
MD5 163ca81c660de09f2d502aeb072e8532
BLAKE2b-256 8d2b828cd9a9217993fe17bb4e572272b389804633f74fbe89c8b9536b145407

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2021.11.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 30ab804ea73972049b7a2a5c62d97687d69b5a60a67adca07eb73a0ddbc9e29f
MD5 06cc47d1da82b2dfa201930dc0242cde
BLAKE2b-256 1753b5a6b68cd8947b53105e2e034b12c32c4799e513fb82fe456e4eee7d0b23

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2021.11.10-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 6650f16365f1924d6014d2ea770bde8555b4a39dc9576abb95e3cd1ff0263b36
MD5 816a88a7361bb0778cce2a606673cc55
BLAKE2b-256 47a0ebb1bcf9d4e5c398f0f0cb214f5c7b5638cece69852efecb6725e98a0adf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2021.11.10-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 7ee1227cf08b6716c85504aebc49ac827eb88fcc6e51564f010f11a406c0a667
MD5 c38af764b27e644126a439c296e519f6
BLAKE2b-256 06429f55990f308a0ae05d327e97ea684d745b6a1037aae34146371bcd45d428

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2021.11.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e0538c43565ee6e703d3a7c3bdfe4037a5209250e8502c98f20fea6f5fdf2965
MD5 b3e01820bf907a456916593b86eabcfd
BLAKE2b-256 7659f1d961f2bb520840e342d33381b5f39e339f6b8e75cc129533536b0abf6a

See more details on using hashes here.

File details

Details for the file regex-2021.11.10-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-2021.11.10-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 162abfd74e88001d20cb73ceaffbfe601469923e875caf9118333b1a4aaafdc4
MD5 0ca508008d9237c7533173dc00c9bc38
BLAKE2b-256 5b83b4d50e5ba522aee7e78bcaafac78abdb84d20e69a73c7ad66c34a728234b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2021.11.10-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 68a067c11463de2a37157930d8b153005085e42bcb7ad9ca562d77ba7d1404e0
MD5 5824f416f9710fb1d6af241dd08d0c00
BLAKE2b-256 5d0891f64dbb13d1b737c025b58b42eb9f4e5ca71498b24d1f838a954aeed819

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp310-cp310-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 279.9 kB
  • Tags: CPython 3.10, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for regex-2021.11.10-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 416c5f1a188c91e3eb41e9c8787288e707f7d2ebe66e0a6563af280d9b68478f
MD5 43341cbf27df7f540505a87092d94b12
BLAKE2b-256 5e4fdecc7c212f44432881ae120f88e1f3dcb5325466839c472c639b87203b45

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp310-cp310-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 288.3 kB
  • Tags: CPython 3.10, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for regex-2021.11.10-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9345b6f7ee578bad8e475129ed40123d265464c4cfead6c261fd60fc9de00bcf
MD5 43c60d62e4fa64a1b1ea8ca0becdd94f
BLAKE2b-256 16a3db549b6f747cc8161a17c91c3aeb886344c7b69eeea0346f17367f0af2cf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 273.3 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for regex-2021.11.10-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 83ee89483672b11f8952b158640d0c0ff02dc43d9cb1b70c1564b49abe92ce29
MD5 e15d30a2e94a7fcf8e59cd4658a8cfc5
BLAKE2b-256 0b244161673fe334d3051edf02485e02874c288f46d0212919a8a30908f38636

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp39-cp39-win32.whl
  • Upload date:
  • Size: 257.0 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for regex-2021.11.10-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 3b5df18db1fccd66de15aa59c41e4f853b5df7550723d26aa6cb7f40e5d9da5a
MD5 c72c03c70b11863bc27753f63a9348d7
BLAKE2b-256 48651e08f91d387c403979b80ee6b02c0ab9a38dba7f8116fcb5aac90f645199

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp39-cp39-musllinux_1_1_x86_64.whl
  • Upload date:
  • Size: 732.5 kB
  • Tags: CPython 3.9, musllinux: musl 1.1+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2021.11.10-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 2409b5c9cef7054dde93a9803156b411b677affc84fca69e908b1cb2c540025d
MD5 a0e446452a39eb9a445da2377e8934aa
BLAKE2b-256 cca3873c5a99a2280e556c3e5aee27eed111d3bd33a914c45ed5f2291d1f0fd8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp39-cp39-musllinux_1_1_s390x.whl
  • Upload date:
  • Size: 755.6 kB
  • Tags: CPython 3.9, musllinux: musl 1.1+ s390x
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2021.11.10-cp39-cp39-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 0f594b96fe2e0821d026365f72ac7b4f0b487487fb3d4aaf10dd9d97d88a9737
MD5 d0a342619fa900f9d604279458e7b32a
BLAKE2b-256 bf9cfdd499178ebe0edf0176eda396c8d36ad4c67af525c6bcf8f31841ac4c99

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp39-cp39-musllinux_1_1_ppc64le.whl
  • Upload date:
  • Size: 755.3 kB
  • Tags: CPython 3.9, musllinux: musl 1.1+ ppc64le
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2021.11.10-cp39-cp39-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 529801a0d58809b60b3531ee804d3e3be4b412c94b5d267daa3de7fadef00f49
MD5 ad33eb50df2501ead0dd337bf019c1c6
BLAKE2b-256 5893725ab6e80fe12316d0e18faa642ed287e362b7ace04ec0bbc95ee1e25ba3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp39-cp39-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 720.8 kB
  • Tags: CPython 3.9, musllinux: musl 1.1+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2021.11.10-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 e6096b0688e6e14af6a1b10eaad86b4ff17935c49aa774eac7c95a57a4e8c296
MD5 fd5a7b2cd07e83ec27b492ba47dd82cf
BLAKE2b-256 0cc071af87e16ce478966a62b739965ea758670bf7a02da858b577fd55762467

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp39-cp39-musllinux_1_1_aarch64.whl
  • Upload date:
  • Size: 731.4 kB
  • Tags: CPython 3.9, musllinux: musl 1.1+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2021.11.10-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 cd410a1cbb2d297c67d8521759ab2ee3f1d66206d2e4328502a487589a2cb21b
MD5 2f3028924b5944f7dab88f1aa58d0afc
BLAKE2b-256 d251e5f6ca92c40320848e5f45cf7a4f8e7b4ea272da3bd5204c0cf1b53ecfd5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2021.11.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 962b9a917dd7ceacbe5cd424556914cb0d636001e393b43dc886ba31d2a1e449
MD5 bbb763003868ba3850f02572f19ebc14
BLAKE2b-256 bc92e244b996412d1f0726de4696f993a83bca752937aafd4019f422af32f1f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2021.11.10-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 b43c2b8a330a490daaef5a47ab114935002b13b3f9dc5da56d5322ff218eeadb
MD5 0361e685f39ec31937d1706537275b95
BLAKE2b-256 7e2d0a7592945e5002c32d45a36652663144474623f369ccee5aba8c3e6bcb7a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2021.11.10-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 432bd15d40ed835a51617521d60d0125867f7b88acf653e4ed994a1f8e4995dc
MD5 e72f8b9075d984988bcf4ba9015b976f
BLAKE2b-256 72c028ee63c82e7ca52edbf19fabb8172f7dfc60f79cfe1833213b5a8fe2f0f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2021.11.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 eef2afb0fd1747f33f1ee3e209bce1ed582d1896b240ccc5e2697e3275f037c7
MD5 c23993624f526d37f99c30c399eefd3d
BLAKE2b-256 4d8dc84f4d17ce5c3dc9da31a0a1a44259c87e2c82f717d55c4d407e7058aeb1

See more details on using hashes here.

File details

Details for the file regex-2021.11.10-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-2021.11.10-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 3c5fb32cc6077abad3bbf0323067636d93307c9fa93e072771cf9a64d1c0f3ef
MD5 366b7e763f276fe153ec19acb4092764
BLAKE2b-256 f41deaf0c0d67989545d1b748dd6a98dca3d7b4d298ca31ce8ee54fbd54ed58a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2021.11.10-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 fa8c626d6441e2d04b6ee703ef2d1e17608ad44c7cb75258c09dd42bacdfc64b
MD5 ec19e7639bc76b6ef7704e03ff464adc
BLAKE2b-256 6870ef738cbba5241a7d02bf3788e6f926ead75e026e4785214a9652329a5a0d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 279.9 kB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for regex-2021.11.10-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 537ca6a3586931b16a85ac38c08cc48f10fc870a5b25e51794c74df843e9966d
MD5 8c5000334a1bfcdd9926e31f6b9c931b
BLAKE2b-256 3b8f2209a52a49ffdbafdbe713c350ff91ff75e41a1c72c39b5a056990f5bd15

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 288.3 kB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for regex-2021.11.10-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f7f325be2804246a75a4f45c72d4ce80d2443ab815063cdf70ee8fb2ca59ee1b
MD5 d61397ed75ee73583c444a38f77aee91
BLAKE2b-256 fc081838ca33325a9e2ed677006350d792051f35bd8b415c4621cb44e8037d1c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 273.3 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for regex-2021.11.10-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 a3feefd5e95871872673b08636f96b61ebef62971eab044f5124fb4dea39919d
MD5 0c5e39001f82bc28b642123d31296a61
BLAKE2b-256 e2b1b1d30513d3638e1e48cdfa5857a0e9c92ec7d19c0641836d0b49c4d00cac

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp38-cp38-win32.whl
  • Upload date:
  • Size: 257.0 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for regex-2021.11.10-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 0617383e2fe465732af4509e61648b77cbe3aee68b6ac8c0b6fe934db90be5cc
MD5 69330bd08cb885d33a814418474214c6
BLAKE2b-256 ed3405bd7db09e0e88841259eac7c149e234b5643a728e47ec5ea20468638a93

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp38-cp38-musllinux_1_1_x86_64.whl
  • Upload date:
  • Size: 739.9 kB
  • Tags: CPython 3.8, musllinux: musl 1.1+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2021.11.10-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 96fc32c16ea6d60d3ca7f63397bff5c75c5a562f7db6dec7d412f7c4d2e78ec0
MD5 fb633a5db8ba488a49dc1c21029a9489
BLAKE2b-256 78bfe08411b62e6682ce0e00fc8e0c5392ee96e8067266d869819f56edbb51fa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp38-cp38-musllinux_1_1_s390x.whl
  • Upload date:
  • Size: 759.8 kB
  • Tags: CPython 3.8, musllinux: musl 1.1+ s390x
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2021.11.10-cp38-cp38-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 ca49e1ab99593438b204e00f3970e7a5f70d045267051dfa6b5f4304fcfa1dbf
MD5 3cc75a974f5b93409f31c6dad4374ae1
BLAKE2b-256 31ecd5925e4752752cb4d9f2692defdf7816fa1229453e82e580d6f873e04fbf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp38-cp38-musllinux_1_1_ppc64le.whl
  • Upload date:
  • Size: 760.8 kB
  • Tags: CPython 3.8, musllinux: musl 1.1+ ppc64le
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2021.11.10-cp38-cp38-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 139a23d1f5d30db2cc6c7fd9c6d6497872a672db22c4ae1910be22d4f4b2068a
MD5 1fdedfd996ba17482b607232e1197aa8
BLAKE2b-256 3621294d860c24d752ec30e90c546adcc4c0d0e3d9147773b51ef56d344f71a5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp38-cp38-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 725.8 kB
  • Tags: CPython 3.8, musllinux: musl 1.1+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2021.11.10-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 a955b747d620a50408b7fdf948e04359d6e762ff8a85f5775d907ceced715129
MD5 c235c23fa986b2db5c2d2d49b2b5b2af
BLAKE2b-256 a529604d50626cfc842c0435c443b2ece6f2ce4d1f14acb3aac964b2efd5d086

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp38-cp38-musllinux_1_1_aarch64.whl
  • Upload date:
  • Size: 735.9 kB
  • Tags: CPython 3.8, musllinux: musl 1.1+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2021.11.10-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 f5be7805e53dafe94d295399cfbe5227f39995a997f4fd8539bf3cbdc8f47ca8
MD5 ce8f140d5dc79ec4b0407d0f224d0e0a
BLAKE2b-256 faae98f9e32225c06ac641bec6fc790f92e8bcd5b2b9252d497eca2d3b1999b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2021.11.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 85bfa6a5413be0ee6c5c4a663668a2cad2cbecdee367630d097d7823041bdeec
MD5 fb5b41fa3ce78566fabf9ce55c41ff2b
BLAKE2b-256 43332aaf537bbe8a36555b3bf54f55fe44934bed5d4ab8d65e547553ca9d4e5f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2021.11.10-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 f8af619e3be812a2059b212064ea7a640aff0568d972cd1b9e920837469eb3cb
MD5 586816d0989305feb10d269cdf61ff97
BLAKE2b-256 d2eb33c6403a186922410e113fb63394d86e4119b23fdaafcf153a79230ab59c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2021.11.10-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 788aef3549f1924d5c38263104dae7395bf020a42776d5ec5ea2b0d3d85d6646
MD5 2930d8f4c199a3d6bffe6b8d409a06a7
BLAKE2b-256 5da5d6dc9c63713bb36f216448080bc67cb46cd0d102f4fcb47820f84aeeaad0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2021.11.10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4aaa4e0705ef2b73dd8e36eeb4c868f80f8393f5f4d855e94025ce7ad8525f50
MD5 a8f7485ab4ae927c05b9ea19ec2063da
BLAKE2b-256 0368d17d09a4b503bfec70ae4355eb3ee8417fae5176268242f1e13322f34a6f

See more details on using hashes here.

File details

Details for the file regex-2021.11.10-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-2021.11.10-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 da1a90c1ddb7531b1d5ff1e171b4ee61f6345119be7351104b67ff413843fe94
MD5 f86e5feca608868b86d07907096d7944
BLAKE2b-256 126332e38c62513f2878cc109e37f3f4a2adb43e17316404416c8fe10cf2f081

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2021.11.10-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f23222527b307970e383433daec128d769ff778d9b29343fb3496472dc20dabe
MD5 8baa172d504f2e5358d3e4486f1a4074
BLAKE2b-256 99231808cd23ec0e97cf2a87bcc6d389bd3f247591daccac510f714bc6ba1433

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp38-cp38-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 279.9 kB
  • Tags: CPython 3.8, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for regex-2021.11.10-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7f301b11b9d214f83ddaf689181051e7f48905568b0c7017c04c06dfd065e244
MD5 b3330c577e851426f38f9dcec6213940
BLAKE2b-256 f142df4c8a2bbf94822191ffb3a92ad565b206bdce4726e2cc685ab88fb1b320

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 288.5 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for regex-2021.11.10-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ba05430e819e58544e840a68b03b28b6d328aff2e41579037e8bab7653b37d83
MD5 59222a095b20c949423f912376048bf5
BLAKE2b-256 b653fea3a3ffaa05b7787bfd359ddeb0f42e5da925da34c0bef158c566248e37

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 272.6 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for regex-2021.11.10-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 07856afef5ffcc052e7eccf3213317fbb94e4a5cd8177a2caa69c980657b3cb4
MD5 028207921e71d2153689dd7a6225c87a
BLAKE2b-256 10f7bbc90eafd285fedbce7e2e6e4f9217e8f2bc006304721a1f6febcb4cadd3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 256.7 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for regex-2021.11.10-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 e71255ba42567d34a13c03968736c5d39bb4a97ce98188fafb27ce981115beec
MD5 2dfb450605c8e7b32bcc795c178e65c7
BLAKE2b-256 98e6838f9701f45a64614e032972a37198bd9ac024935254214d9e53e821a102

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp37-cp37m-musllinux_1_1_x86_64.whl
  • Upload date:
  • Size: 724.5 kB
  • Tags: CPython 3.7m, musllinux: musl 1.1+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2021.11.10-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 dc07f021ee80510f3cd3af2cad5b6a3b3a10b057521d9e6aaeb621730d320c5a
MD5 c88cc9663d54583081854af27cb6b612
BLAKE2b-256 4289aac5a6285566be39ebcaf1efc5570f993ba3317ced65d8110c4eb4decacf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp37-cp37m-musllinux_1_1_s390x.whl
  • Upload date:
  • Size: 744.5 kB
  • Tags: CPython 3.7m, musllinux: musl 1.1+ s390x
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2021.11.10-cp37-cp37m-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 ce298e3d0c65bd03fa65ffcc6db0e2b578e8f626d468db64fdf8457731052942
MD5 efcf287ccb289ab2ce805dbc1eef679b
BLAKE2b-256 f79c56399b2720273bcfc98c398e14685ef0364a2db119d4faf0390699e62131

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp37-cp37m-musllinux_1_1_ppc64le.whl
  • Upload date:
  • Size: 744.4 kB
  • Tags: CPython 3.7m, musllinux: musl 1.1+ ppc64le
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2021.11.10-cp37-cp37m-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 0416f7399e918c4b0e074a0f66e5191077ee2ca32a0f99d4c187a62beb47aa05
MD5 f697cbb50a5da16823c0ed2cbe5e7293
BLAKE2b-256 e9bcf601740ed588e672e95e4aa23fd56b54919a646fecf450e28d2170ab3ef9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp37-cp37m-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 711.2 kB
  • Tags: CPython 3.7m, musllinux: musl 1.1+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2021.11.10-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 6e1d2cc79e8dae442b3fa4a26c5794428b98f81389af90623ffcc650ce9f6732
MD5 606d22435371065432efd39949d5d05a
BLAKE2b-256 ec5da3d242cd6fdff1b85704e451ea6bc11e090f3c81144f1f4d3da74f0350f9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp37-cp37m-musllinux_1_1_aarch64.whl
  • Upload date:
  • Size: 721.4 kB
  • Tags: CPython 3.7m, musllinux: musl 1.1+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2021.11.10-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 42b50fa6666b0d50c30a990527127334d6b96dd969011e843e726a64011485da
MD5 76272898624228b1526065e9743f9c7b
BLAKE2b-256 60a87c1e2751667e9eaf16135936e68c439d991f7e37c6f2bd67cf7d577d33b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2021.11.10-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d5ca078bb666c4a9d1287a379fe617a6dccd18c3e8a7e6c7e1eb8974330c626a
MD5 a074ba4ec5c9dce31372c5f83aa3cfd0
BLAKE2b-256 313c3f711534937e801d2df43e838a792c9361d430737f594f6572947a0c9228

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2021.11.10-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 2207ae4f64ad3af399e2d30dde66f0b36ae5c3129b52885f1bffc2f05ec505c8
MD5 0cd8090415fe79a1d548efd6111f29a5
BLAKE2b-256 8a418be97c94080028fcb9260c52fe29a77f56515e4d94ef2a4ae93a636e8dfe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2021.11.10-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 53db2c6be8a2710b359bfd3d3aa17ba38f8aa72a82309a12ae99d3c0c3dcd74d
MD5 023949c7ddef3155cc5da918a0082c3b
BLAKE2b-256 0590ce1ac432e4d5e465bfb39e60c92b1c5ee0cb15843b592c42ee44a048bfeb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2021.11.10-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e32d2a2b02ccbef10145df9135751abea1f9f076e67a4e261b05f24b94219e36
MD5 f2c2e3d1a4a1e100b0cc022e479fd2c6
BLAKE2b-256 594b66c4efbcaddb3ca33393ded1fba81df0e7cf3c514a681912f90842ac3679

See more details on using hashes here.

File details

Details for the file regex-2021.11.10-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-2021.11.10-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 05b7d6d7e64efe309972adab77fc2af8907bb93217ec60aa9fe12a0dad35874f
MD5 ac47b18e0ca1aa00f50390db6af71fba
BLAKE2b-256 7fe35bd531ce6dc4c08b41173576a377fff5e6e6ca87bb58d926acb2218e2b44

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2021.11.10-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 dd33eb9bdcfbabab3459c9ee651d94c842bc8a05fabc95edf4ee0c15a072495e
MD5 92c03f6e1c4bd2316f471c4c5d2261d9
BLAKE2b-256 db57c08082fddaa96b7d69b42bb1d4b22a9985c7508f5400e924ad0c2785a8ff

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 288.8 kB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for regex-2021.11.10-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fff55f3ce50a3ff63ec8e2a8d3dd924f1941b250b0aac3d3d42b687eeff07a8e
MD5 91e6ed45a99f5ff17d02c16086759d62
BLAKE2b-256 0bbede0293760bde46b59da9f115d46edafe4c9230ff07a184e57728cc274b21

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 272.9 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for regex-2021.11.10-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 b483c9d00a565633c87abd0aaf27eb5016de23fed952e054ecc19ce32f6a9e7e
MD5 cf8bc62be4505d3e66641e639aa70446
BLAKE2b-256 beb314cbfe2d6abbbfaea6dab111bc3db9c01da81671b95ab34c032cdb1e8646

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 256.9 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for regex-2021.11.10-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 93a5051fcf5fad72de73b96f07d30bc29665697fb8ecdfbc474f3452c78adcf4
MD5 4e36f0fbdbf2ce40583be1c93adda9f1
BLAKE2b-256 3cf46f621175993840f6d2803b534323223cab4ea7fadf06fafaec3cba0a2a3b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp36-cp36m-musllinux_1_1_x86_64.whl
  • Upload date:
  • Size: 726.2 kB
  • Tags: CPython 3.6m, musllinux: musl 1.1+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2021.11.10-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 563d5f9354e15e048465061509403f68424fef37d5add3064038c2511c8f5e00
MD5 8f630a3eca171340269854e4ff7d0172
BLAKE2b-256 df454ab20e23e6d24dcb1834743ea0c2f587943ce17f59538cabb5074556224f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp36-cp36m-musllinux_1_1_s390x.whl
  • Upload date:
  • Size: 745.1 kB
  • Tags: CPython 3.6m, musllinux: musl 1.1+ s390x
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2021.11.10-cp36-cp36m-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 61600a7ca4bcf78a96a68a27c2ae9389763b5b94b63943d5158f2a377e09d29a
MD5 82350d45abedc3db313c5a36d7ab483d
BLAKE2b-256 92e2be0e37bbcbb92c12c539b47895fa7d3b38e781920958f03ed1cfbd3fcdd9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp36-cp36m-musllinux_1_1_ppc64le.whl
  • Upload date:
  • Size: 744.0 kB
  • Tags: CPython 3.6m, musllinux: musl 1.1+ ppc64le
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2021.11.10-cp36-cp36m-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 50a7ddf3d131dc5633dccdb51417e2d1910d25cbcf842115a3a5893509140a3a
MD5 1f9cdb6d12f09c91c470f2c5bdd76a44
BLAKE2b-256 8aab8538d1366556bd3a87833ff6216359110c51ed2274cc3bc3d22e21b748c5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp36-cp36m-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 710.9 kB
  • Tags: CPython 3.6m, musllinux: musl 1.1+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2021.11.10-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 3598893bde43091ee5ca0a6ad20f08a0435e93a69255eeb5f81b85e81e329264
MD5 721b6b4b4a70211680b3a629ec20e4b0
BLAKE2b-256 a9a14765a896197ee075b6ac64488ec82f0fcd2c9db693f14ffd1962c0b35622

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp36-cp36m-musllinux_1_1_aarch64.whl
  • Upload date:
  • Size: 721.7 kB
  • Tags: CPython 3.6m, musllinux: musl 1.1+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2021.11.10-cp36-cp36m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 74cbeac0451f27d4f50e6e8a8f3a52ca074b5e2da9f7b505c4201a57a8ed6286
MD5 9fe775bad800f4af9279536ca41f94b0
BLAKE2b-256 48d882f6e86a66aa439abd47de4be080d7766a6ee009bbdbf53b7284fba27c2e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2021.11.10-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5537f71b6d646f7f5f340562ec4c77b6e1c915f8baae822ea0b7e46c1f09b733
MD5 a35fb3c27d391ba4f5b97d26f27be8e3
BLAKE2b-256 c299dad689cc27a041a01376957c4c3b0147bcc537c93dc01e03e89ebc5df807

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2021.11.10-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 666abff54e474d28ff42756d94544cdfd42e2ee97065857413b72e8a2d6a6345
MD5 b4bb52e0225160d3a1ea181f5e6ddab7
BLAKE2b-256 76f18491ee219a6038a25355a65985ac871b5b69652f4fead14e320c107016a1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2021.11.10-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 fbb9dc00e39f3e6c0ef48edee202f9520dafb233e8b51b06b8428cfcb92abd30
MD5 10a7f919c1c20f3fc78e9ab09fbd4b6c
BLAKE2b-256 f6abdef96e6e1e707c04234c37036241e9e14e6b1ab81c809c976a7d85fbfe5d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2021.11.10-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e1f54b9b4b6c53369f40028d2dd07a8c374583417ee6ec0ea304e710a20f80a0
MD5 8412fca101dcc3cc9a2eaa969284c9e6
BLAKE2b-256 8da23b4368d2a2a71721111b0af5e8ca1106b527e03be41242f9daade040cf43

See more details on using hashes here.

File details

Details for the file regex-2021.11.10-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-2021.11.10-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 ca5f18a75e1256ce07494e245cdb146f5a9267d3c702ebf9b65c7f8bd843431e
MD5 08ad25cc0586c3ca80e42233a29c02f8
BLAKE2b-256 9357277ac1dc8b7e49f48c6fb74929dd32d27ea5e3c504a766f4420d28a673ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2021.11.10-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ed2e07c6a26ed4bea91b897ee2b0835c21716d9a469a96c3e878dc5f8c55bb23
MD5 b659f6ee898ce69e9076f37816721784
BLAKE2b-256 69694853e36c561ffb648855b2df4e05cd27a06f969bc97b40e678ca7ea38357

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2021.11.10-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 288.9 kB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for regex-2021.11.10-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 dba70f30fd81f8ce6d32ddeef37d91c8948e5d5a4c63242d16a2b2df8143aafc
MD5 2cae25da2446c6b6bfb077aba1eddd0f
BLAKE2b-256 a4a16bb1eca5bc347485eb22c2a49d9e0d4fb2841d5334ddf111d9b307459d8e

See more details on using hashes here.

Supported by

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