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)
{'options': frozenset({'fifth', 'first', 'fourth', 'second', 'third'})}

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

Uploaded Source

Built Distributions

regex-2022.1.18-cp310-cp310-win_amd64.whl (273.1 kB view details)

Uploaded CPython 3.10Windows x86-64

regex-2022.1.18-cp310-cp310-win32.whl (256.8 kB view details)

Uploaded CPython 3.10Windows x86

regex-2022.1.18-cp310-cp310-musllinux_1_1_x86_64.whl (732.5 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

regex-2022.1.18-cp310-cp310-musllinux_1_1_s390x.whl (755.9 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ s390x

regex-2022.1.18-cp310-cp310-musllinux_1_1_ppc64le.whl (755.7 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ ppc64le

regex-2022.1.18-cp310-cp310-musllinux_1_1_i686.whl (721.2 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ i686

regex-2022.1.18-cp310-cp310-musllinux_1_1_aarch64.whl (731.9 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ ARM64

regex-2022.1.18-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (763.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

regex-2022.1.18-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (788.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ s390x

regex-2022.1.18-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (800.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ppc64le

regex-2022.1.18-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (761.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

regex-2022.1.18-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (677.4 kB view details)

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

regex-2022.1.18-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (752.7 kB view details)

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

regex-2022.1.18-cp310-cp310-macosx_11_0_arm64.whl (281.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

regex-2022.1.18-cp310-cp310-macosx_10_9_x86_64.whl (288.7 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

regex-2022.1.18-cp39-cp39-win_amd64.whl (273.2 kB view details)

Uploaded CPython 3.9Windows x86-64

regex-2022.1.18-cp39-cp39-win32.whl (256.8 kB view details)

Uploaded CPython 3.9Windows x86

regex-2022.1.18-cp39-cp39-musllinux_1_1_x86_64.whl (732.4 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

regex-2022.1.18-cp39-cp39-musllinux_1_1_s390x.whl (755.5 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ s390x

regex-2022.1.18-cp39-cp39-musllinux_1_1_ppc64le.whl (755.1 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ ppc64le

regex-2022.1.18-cp39-cp39-musllinux_1_1_i686.whl (720.5 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ i686

regex-2022.1.18-cp39-cp39-musllinux_1_1_aarch64.whl (731.3 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ ARM64

regex-2022.1.18-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (763.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

regex-2022.1.18-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (787.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ s390x

regex-2022.1.18-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (800.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ppc64le

regex-2022.1.18-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (760.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

regex-2022.1.18-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (676.9 kB view details)

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

regex-2022.1.18-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (752.1 kB view details)

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

regex-2022.1.18-cp39-cp39-macosx_11_0_arm64.whl (281.5 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

regex-2022.1.18-cp39-cp39-macosx_10_9_x86_64.whl (288.7 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

regex-2022.1.18-cp38-cp38-win_amd64.whl (273.2 kB view details)

Uploaded CPython 3.8Windows x86-64

regex-2022.1.18-cp38-cp38-win32.whl (256.9 kB view details)

Uploaded CPython 3.8Windows x86

regex-2022.1.18-cp38-cp38-musllinux_1_1_x86_64.whl (739.8 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

regex-2022.1.18-cp38-cp38-musllinux_1_1_s390x.whl (759.7 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ s390x

regex-2022.1.18-cp38-cp38-musllinux_1_1_ppc64le.whl (760.7 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ ppc64le

regex-2022.1.18-cp38-cp38-musllinux_1_1_i686.whl (725.7 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ i686

regex-2022.1.18-cp38-cp38-musllinux_1_1_aarch64.whl (735.8 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ ARM64

regex-2022.1.18-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (764.6 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

regex-2022.1.18-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (790.0 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ s390x

regex-2022.1.18-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (804.5 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ppc64le

regex-2022.1.18-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (764.0 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

regex-2022.1.18-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (683.3 kB view details)

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

regex-2022.1.18-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (752.6 kB view details)

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

regex-2022.1.18-cp38-cp38-macosx_11_0_arm64.whl (281.5 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

regex-2022.1.18-cp38-cp38-macosx_10_9_x86_64.whl (288.8 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

regex-2022.1.18-cp37-cp37m-win_amd64.whl (272.5 kB view details)

Uploaded CPython 3.7mWindows x86-64

regex-2022.1.18-cp37-cp37m-win32.whl (256.6 kB view details)

Uploaded CPython 3.7mWindows x86

regex-2022.1.18-cp37-cp37m-musllinux_1_1_x86_64.whl (724.3 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

regex-2022.1.18-cp37-cp37m-musllinux_1_1_s390x.whl (744.4 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ s390x

regex-2022.1.18-cp37-cp37m-musllinux_1_1_ppc64le.whl (744.3 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ ppc64le

regex-2022.1.18-cp37-cp37m-musllinux_1_1_i686.whl (711.0 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ i686

regex-2022.1.18-cp37-cp37m-musllinux_1_1_aarch64.whl (721.3 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ ARM64

regex-2022.1.18-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (749.0 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

regex-2022.1.18-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl (775.3 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ s390x

regex-2022.1.18-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (787.1 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ppc64le

regex-2022.1.18-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (746.4 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

regex-2022.1.18-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (670.7 kB view details)

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

regex-2022.1.18-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (736.5 kB view details)

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

regex-2022.1.18-cp37-cp37m-macosx_10_9_x86_64.whl (289.1 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

regex-2022.1.18-cp36-cp36m-win_amd64.whl (272.8 kB view details)

Uploaded CPython 3.6mWindows x86-64

regex-2022.1.18-cp36-cp36m-win32.whl (256.7 kB view details)

Uploaded CPython 3.6mWindows x86

regex-2022.1.18-cp36-cp36m-musllinux_1_1_x86_64.whl (726.1 kB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ x86-64

regex-2022.1.18-cp36-cp36m-musllinux_1_1_s390x.whl (744.9 kB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ s390x

regex-2022.1.18-cp36-cp36m-musllinux_1_1_ppc64le.whl (743.8 kB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ ppc64le

regex-2022.1.18-cp36-cp36m-musllinux_1_1_i686.whl (710.8 kB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ i686

regex-2022.1.18-cp36-cp36m-musllinux_1_1_aarch64.whl (721.6 kB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ ARM64

regex-2022.1.18-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (748.8 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

regex-2022.1.18-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl (775.8 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ s390x

regex-2022.1.18-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (786.6 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ ppc64le

regex-2022.1.18-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (746.6 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ ARM64

regex-2022.1.18-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (670.7 kB view details)

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

regex-2022.1.18-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (737.0 kB view details)

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

regex-2022.1.18-cp36-cp36m-macosx_10_9_x86_64.whl (289.3 kB view details)

Uploaded CPython 3.6mmacOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: regex-2022.1.18.tar.gz
  • Upload date:
  • Size: 382.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18.tar.gz
Algorithm Hash digest
SHA256 97f32dc03a8054a4c4a5ab5d761ed4861e828b2c200febd4e46857069a483916
MD5 2c8a32f88af740643aea0d2ceb467fe8
BLAKE2b-256 4c75b5b60055897d78882da8bc4c94609067cf531a42726df2e44ce69e8ec7a9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 273.1 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1a171eaac36a08964d023eeff740b18a415f79aeb212169080c170ec42dd5184
MD5 b0fdbda01709eeca45e4bacce130c6de
BLAKE2b-256 13b16c4c63d90d3c313ba5a7f103184a90abb53a7f472de9a1237b269b492d55

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp310-cp310-win32.whl
  • Upload date:
  • Size: 256.8 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 94c623c331a48a5ccc7d25271399aff29729fa202c737ae3b4b28b89d2b0976d
MD5 881c3970fd7c47dfc0ce50fc662a4edc
BLAKE2b-256 d509781072fe10ea68bd5568e5c79b679030936d3fe27b3e26d58c6348b5a377

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp310-cp310-musllinux_1_1_x86_64.whl
  • Upload date:
  • Size: 732.5 kB
  • Tags: CPython 3.10, musllinux: musl 1.1+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 9187500d83fd0cef4669385cbb0961e227a41c0c9bc39219044e35810793edf7
MD5 35548a718da0ee5be70629b24a782848
BLAKE2b-256 95899987591ebbbb77336543a603edc9cb7e1804609acef25383e918a4c3b2d0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp310-cp310-musllinux_1_1_s390x.whl
  • Upload date:
  • Size: 755.9 kB
  • Tags: CPython 3.10, musllinux: musl 1.1+ s390x
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp310-cp310-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 b013f759cd69cb0a62de954d6d2096d648bc210034b79b1881406b07ed0a83f9
MD5 888f3a82ed6b875ff60ae79c0f4b8dab
BLAKE2b-256 fe0685ba7a4b08d82cf58cd744bdb795a85295ee8aeb5e7b109666bd68d87b84

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp310-cp310-musllinux_1_1_ppc64le.whl
  • Upload date:
  • Size: 755.7 kB
  • Tags: CPython 3.10, musllinux: musl 1.1+ ppc64le
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp310-cp310-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 61ebbcd208d78658b09e19c78920f1ad38936a0aa0f9c459c46c197d11c580a0
MD5 93137589c088a8f3a6ae1705f3c675c5
BLAKE2b-256 c19b2f1db76ae0a97cca6f5d2e220660b0497aa01e44a8d72186ca3f6971011a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp310-cp310-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 721.2 kB
  • Tags: CPython 3.10, musllinux: musl 1.1+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 6213713ac743b190ecbf3f316d6e41d099e774812d470422b3a0f137ea635832
MD5 c3ec13ce2e9c1dfad3244af840334a6f
BLAKE2b-256 bb75d9b653e47c5c0b7953aa33c4e6b68a1fb5b58beaf5c284beaebe6466fc26

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp310-cp310-musllinux_1_1_aarch64.whl
  • Upload date:
  • Size: 731.9 kB
  • Tags: CPython 3.10, musllinux: musl 1.1+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 abfcb0ef78df0ee9df4ea81f03beea41849340ce33a4c4bd4dbb99e23ec781b6
MD5 d70cf9206358c4575119fbb6ac960fc4
BLAKE2b-256 10ac45e3d8ab970450eed01291a8df3e8d6c57263b2057ef272e9ccc94ad7d3d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2022.1.18-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b52cc45e71657bc4743a5606d9023459de929b2a198d545868e11898ba1c3f59
MD5 0502afe24785dc9e312ad5064766328e
BLAKE2b-256 d1a2d0eda66ba287402f8a6214b1b1392cf5e7bc990a48639f5c287b9e48f7c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2022.1.18-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 8618d9213a863c468a865e9d2ec50221015f7abf52221bc927152ef26c484b4c
MD5 aa45217644e52ba504a7895de26653ec
BLAKE2b-256 c10a9126d0362b2836e0c67ecee2e7b7d184aac134eeecca7bef67c0ebefbcc0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2022.1.18-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 9a2bf98ac92f58777c0fafc772bf0493e67fcf677302e0c0a630ee517a43b949
MD5 48039d2074081d8c7e7bd2f531a3eaaf
BLAKE2b-256 2dad12ae6cf14d7147a7280e99ae7806ee8780e8f30b4232a3f7c9f25ed2f0a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2022.1.18-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f99112aed4fb7cee00c7f77e8b964a9b10f69488cdff626ffd797d02e2e4484f
MD5 90da070c03a59a8f50920a6c596adf42
BLAKE2b-256 1064140ead5204e9703f56481a4dcd1ddf9691c314be1a57cb9d91807fb3a7e3

See more details on using hashes here.

File details

Details for the file regex-2022.1.18-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-2022.1.18-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 b02e3e72665cd02afafb933453b0c9f6c59ff6e3708bd28d0d8580450e7e88af
MD5 e0ff31ea5088218ef700afece991a710
BLAKE2b-256 6351f113ff85f5b29dc5cb9ee227ee8ce9671c30f936be8cacb76f75d3dc7e61

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2022.1.18-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7e12949e5071c20ec49ef00c75121ed2b076972132fc1913ddf5f76cae8d10b4
MD5 6d62e68913bdaaa1feaafddbb9e66c60
BLAKE2b-256 a3b083d022eefa3ded9fdcd95ccd481fd9b545553da67941ba9786e44a89cd07

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp310-cp310-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 281.5 kB
  • Tags: CPython 3.10, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7a0b9f6a1a15d494b35f25ed07abda03209fa76c33564c09c9e81d34f4b919d7
MD5 e969779880f4764cb0cd03c57affc172
BLAKE2b-256 2296c2bb289362dcffe1cee584a63e0676f640acd6065adbea662c6d49a0f6c7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp310-cp310-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 288.7 kB
  • Tags: CPython 3.10, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 34316bf693b1d2d29c087ee7e4bb10cdfa39da5f9c50fa15b07489b4ab93a1b5
MD5 135f41fb85e8d265f1947d07f8c373d8
BLAKE2b-256 b3d894bbe29900900358944bb99e385152166b0b6695bd4d394c4979500ebd17

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 273.2 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ebaeb93f90c0903233b11ce913a7cb8f6ee069158406e056f884854c737d2442
MD5 1a1ea772f081cc91d929a103c164529a
BLAKE2b-256 1457ecd4833927de1a53c0fd68021c0d4e73d479c5092287c9c5e2ff661c2c41

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp39-cp39-win32.whl
  • Upload date:
  • Size: 256.8 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 6db1b52c6f2c04fafc8da17ea506608e6be7086715dab498570c3e55e4f8fbd1
MD5 90b3c99ea2b0254fdee68b276dcb8e51
BLAKE2b-256 a553473f82ea47b85432abc19848a15b6766a974015969bbd90766d27839fbbf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp39-cp39-musllinux_1_1_x86_64.whl
  • Upload date:
  • Size: 732.4 kB
  • Tags: CPython 3.9, musllinux: musl 1.1+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 defa0652696ff0ba48c8aff5a1fac1eef1ca6ac9c660b047fc8e7623c4eb5093
MD5 f94fbf624fd0cd682228ec7aa265ac40
BLAKE2b-256 9a69aaa863629087d130467fa4b979778d06b5f9e661505ba8977eb099fd289b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp39-cp39-musllinux_1_1_s390x.whl
  • Upload date:
  • Size: 755.5 kB
  • Tags: CPython 3.9, musllinux: musl 1.1+ s390x
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp39-cp39-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 cf0db26a1f76aa6b3aa314a74b8facd586b7a5457d05b64f8082a62c9c49582a
MD5 d1994bb583c9f48704eb3b0d637f8b81
BLAKE2b-256 5b0cdcc4ae9626a2ca8e15f9f86615587819403ec1b3bcd8c9640eed13387cf1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp39-cp39-musllinux_1_1_ppc64le.whl
  • Upload date:
  • Size: 755.1 kB
  • Tags: CPython 3.9, musllinux: musl 1.1+ ppc64le
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp39-cp39-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 93cce7d422a0093cfb3606beae38a8e47a25232eea0f292c878af580a9dc7605
MD5 1b6d0eca171071bfe35f3cce50f47efc
BLAKE2b-256 9be3544527870b198c88e9f27e0103f75cf3665bc0df28606d8d93cdf64c3181

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp39-cp39-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 720.5 kB
  • Tags: CPython 3.9, musllinux: musl 1.1+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 1d6301f5288e9bdca65fab3de6b7de17362c5016d6bf8ee4ba4cbe833b2eda0f
MD5 83db6918ed663ebe161ae0e3d582262e
BLAKE2b-256 487f5b07717cfed5d18f95751ed0a553475baf79a39aa1eabd6611cdffcfb321

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp39-cp39-musllinux_1_1_aarch64.whl
  • Upload date:
  • Size: 731.3 kB
  • Tags: CPython 3.9, musllinux: musl 1.1+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 ecfe51abf7f045e0b9cdde71ca9e153d11238679ef7b5da6c82093874adf3338
MD5 482aa828a1faad657fa4dd49b9589b42
BLAKE2b-256 7db078b215f1b484e02624233ea7e56566c4acaad6d3862886d0e987d6f9767b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2022.1.18-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c73d2166e4b210b73d1429c4f1ca97cea9cc090e5302df2a7a0a96ce55373f1c
MD5 c1b50f9c4aa525fff935a67c41ea299b
BLAKE2b-256 898cd587899aee993e201b369fb4007419b8a627190c52b40c2de0615f46dec1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2022.1.18-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 8acef4d8a4353f6678fd1035422a937c2170de58a2b29f7da045d5249e934101
MD5 fc2b48f9ea22b0b28fce6ff91146ff3c
BLAKE2b-256 9639fcbf690801e772a9495709d824c3e963dd1f7f80d71c9fdaef87052eb126

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2022.1.18-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 752e7ddfb743344d447367baa85bccd3629c2c3940f70506eb5f01abce98ee68
MD5 95f76327578aec70915610046f00a399
BLAKE2b-256 faefedc8102f13f56a95b42d2d5680bbc0258882ef1ff78c3ccdecd8ff8111a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2022.1.18-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c38baee6bdb7fe1b110b6b3aaa555e6e872d322206b7245aa39572d3fc991ee4
MD5 aba317ac99ba3f12af5db9d331ee1579
BLAKE2b-256 cea4f4731ec08b3f5a35b763a615a609b4b474dc5758e02ff3a6becbb5d9f787

See more details on using hashes here.

File details

Details for the file regex-2022.1.18-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-2022.1.18-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 596f5ae2eeddb79b595583c2e0285312b2783b0ec759930c272dbf02f851ff75
MD5 4202263971edd9c854e5824dbe2d0afe
BLAKE2b-256 51d050eb62eb81e59c8b3a886ab1eaa28c7b52ebb1dc2fc609b080850a43a8e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2022.1.18-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 24c89346734a4e4d60ecf9b27cac4c1fee3431a413f7aa00be7c4d7bbacc2c4d
MD5 c0b620c97cbd69c27b40dc502decaf62
BLAKE2b-256 4383b793711c46773aa3fb2ecc563748b297695ae5b9c79ac2fff188e230203f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 281.5 kB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6aa427c55a0abec450bca10b64446331b5ca8f79b648531138f357569705bc4a
MD5 f6c685b065f9f6487b7978d96a3f12f0
BLAKE2b-256 1fa7d83625ead61714d6e127ba1de89aba6a3e531bd5328d5fe9f73eeec6682a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 288.7 kB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 93c20777a72cae8620203ac11c4010365706062aa13aaedd1a21bb07adbb9d5d
MD5 76342f8ccc0e1693e3e9ce612b39d88e
BLAKE2b-256 bdab1ce3590b28c121b0256f07c4c0da9fdea720b1b0ca69dad7bec0a4e9ed87

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 273.2 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 760c54ad1b8a9b81951030a7e8e7c3ec0964c1cb9fee585a03ff53d9e531bb8e
MD5 caa601f23cfecdae88e5a08fe93f640e
BLAKE2b-256 a37ea9388c636eda5201cb61123078f05cf5a0e98a396e6e79ba09b0e23304a0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp38-cp38-win32.whl
  • Upload date:
  • Size: 256.9 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 1f8c0ae0a0de4e19fddaaff036f508db175f6f03db318c80bbc239a1def62d02
MD5 3a889ee4f313374cfbde5f5ab8dbb941
BLAKE2b-256 f48f71ecf75c4b04f4908c26e26c60a3acfe2202161b3868e9989852bd074509

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp38-cp38-musllinux_1_1_x86_64.whl
  • Upload date:
  • Size: 739.8 kB
  • Tags: CPython 3.8, musllinux: musl 1.1+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 385ccf6d011b97768a640e9d4de25412204fbe8d6b9ae39ff115d4ff03f6fe5d
MD5 2eee1bc1270e79e670bd3ed0c92d41fa
BLAKE2b-256 5ef16631f1d159134273d4b4a1274bee1b82e07924949a2592e3d34c0fa47944

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp38-cp38-musllinux_1_1_s390x.whl
  • Upload date:
  • Size: 759.7 kB
  • Tags: CPython 3.8, musllinux: musl 1.1+ s390x
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp38-cp38-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 51f02ca184518702975b56affde6c573ebad4e411599005ce4468b1014b4786c
MD5 18df0ef7f5618ee5b7b92f8f9bedccb6
BLAKE2b-256 32a6e252e912acba4a4d0335c517e78ecc277a7f7a53e278773062d147d351e5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp38-cp38-musllinux_1_1_ppc64le.whl
  • Upload date:
  • Size: 760.7 kB
  • Tags: CPython 3.8, musllinux: musl 1.1+ ppc64le
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp38-cp38-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 3c7ea86b9ca83e30fa4d4cd0eaf01db3ebcc7b2726a25990966627e39577d729
MD5 4029c2498aacd84f2621e6c6d787e3ff
BLAKE2b-256 c42935cdef2fa1622d50a93c62018847e36eb1a254adb65bd03bd8073dd1932a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp38-cp38-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 725.7 kB
  • Tags: CPython 3.8, musllinux: musl 1.1+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 519c0b3a6fbb68afaa0febf0d28f6c4b0a1074aefc484802ecb9709faf181607
MD5 011c2f6db07b78c9136a11043a768a47
BLAKE2b-256 2f383cdec6e346f6f97dfbf13ea0b031999cff9e36093d0d17d4dfaebd93144c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp38-cp38-musllinux_1_1_aarch64.whl
  • Upload date:
  • Size: 735.8 kB
  • Tags: CPython 3.8, musllinux: musl 1.1+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 7e26eac9e52e8ce86f915fd33380f1b6896a2b51994e40bb094841e5003429b4
MD5 311ffd65821fb2ad4777bb257a36da30
BLAKE2b-256 18ce189f55ab15c7f835ef8b3cca641c5361f08f5fcb66284ee39e992c8dd60f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2022.1.18-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 90b6840b6448203228a9d8464a7a0d99aa8fa9f027ef95fe230579abaf8a6ee1
MD5 de9d985044b4423c25dc61c64f2eb915
BLAKE2b-256 25d761ce693408cc87c1ac1f046a9247635bb682f01180e771cb7d7069e2d04f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2022.1.18-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 fd914db437ec25bfa410f8aa0aa2f3ba87cdfc04d9919d608d02330947afaeab
MD5 ba16c9cbc6b8db095e97ea6a1cabfa1b
BLAKE2b-256 70c85dc5984effdba3da1edfb75704bde3b0f9dc796db9e336dbd88c23b7d919

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2022.1.18-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 bf594cc7cc9d528338d66674c10a5b25e3cde7dd75c3e96784df8f371d77a298
MD5 3ec5e18b3a0824fcc2fcf1c5ec6cf9c2
BLAKE2b-256 22109b555afbb730f9a4daffdee6f812ad6fbd34019daa43fbbe44a1721fd491

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2022.1.18-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a9d24b03daf7415f78abc2d25a208f234e2c585e5e6f92f0204d2ab7b9ab48e3
MD5 6117ebfcc4009bb4c9042afc6cce3f3b
BLAKE2b-256 0ce508ba972405c99137520406963d8868e5390aaa2249dc3e38d24d3c9e4200

See more details on using hashes here.

File details

Details for the file regex-2022.1.18-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-2022.1.18-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a602bdc8607c99eb5b391592d58c92618dcd1537fdd87df1813f03fed49957a6
MD5 fe49cfb4f746295a4876d4a10d44b18e
BLAKE2b-256 846e7924c4ddfa51701f624a621da53d2b271909ce6d73c70353991eee6b0a9b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2022.1.18-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 11772be1eb1748e0e197a40ffb82fb8fd0d6914cd147d841d9703e2bef24d288
MD5 3e06c07179432fc9bb3f83cd0bd6c47e
BLAKE2b-256 fc80c98b0c8005c6e81d0a9d1d2791245159ac46adb4be5d200b0188ad09fc4c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp38-cp38-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 281.5 kB
  • Tags: CPython 3.8, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0b5d6f9aed3153487252d00a18e53f19b7f52a1651bc1d0c4b5844bc286dfa52
MD5 91e7ded9658aab463b3d5480a76a1b64
BLAKE2b-256 4c30232b91e1044d08ba7ba57f8f116c915eab01856e373414dd580f9c23a356

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 288.8 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6014038f52b4b2ac1fa41a58d439a8a00f015b5c0735a0cd4b09afe344c94899
MD5 a39d3de00bb27013f5ce382b646bbe48
BLAKE2b-256 8d3029c8e10c71f9ba255c85c16737cda102bb5d56f9c5f63b8d7a4dee24b63c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 272.5 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 38289f1690a7e27aacd049e420769b996826f3728756859420eeee21cc857118
MD5 179e1a3a4375399a1adc4cc27fd6533d
BLAKE2b-256 a221e9bf5c0eb6cb0f50bad4fd9f1635781996aef89df2cf0e582c522388618f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 256.6 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 6ca45359d7a21644793de0e29de497ef7f1ae7268e346c4faf87b421fea364e6
MD5 228ce8608c78da937c5b09ce3310ab46
BLAKE2b-256 c3a87d58a31d6c4c34403796186e90c74cd36537161b4833231fd89d776e01d9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp37-cp37m-musllinux_1_1_x86_64.whl
  • Upload date:
  • Size: 724.3 kB
  • Tags: CPython 3.7m, musllinux: musl 1.1+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 da80047524eac2acf7c04c18ac7a7da05a9136241f642dd2ed94269ef0d0a45a
MD5 8122d4d6c8165eab93179249e4f50a06
BLAKE2b-256 581193da2bd6339b31e243269dc6d5feec1db16887ad6408396810bdf63f8114

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp37-cp37m-musllinux_1_1_s390x.whl
  • Upload date:
  • Size: 744.4 kB
  • Tags: CPython 3.7m, musllinux: musl 1.1+ s390x
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp37-cp37m-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 16f81025bb3556eccb0681d7946e2b35ff254f9f888cff7d2120e8826330315c
MD5 395aad4ae175b761c3412e219bb35b7d
BLAKE2b-256 71b117d48f44bf3c87da45f47428eed188d4cc685880c1995617170e8453a21c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp37-cp37m-musllinux_1_1_ppc64le.whl
  • Upload date:
  • Size: 744.3 kB
  • Tags: CPython 3.7m, musllinux: musl 1.1+ ppc64le
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp37-cp37m-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 36b2d700a27e168fa96272b42d28c7ac3ff72030c67b32f37c05616ebd22a202
MD5 cb261a49467bc2477d769a488781f605
BLAKE2b-256 9c8f6503d4da5f37de1ab0de142120576b751d81ec98780983cd93c957f39ac6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp37-cp37m-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 711.0 kB
  • Tags: CPython 3.7m, musllinux: musl 1.1+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 bb804c7d0bfbd7e3f33924ff49757de9106c44e27979e2492819c16972ec0da2
MD5 648133c5d21631360e39412cae2937c5
BLAKE2b-256 b681601a1f442d412c7cc656218bfc32dfd674a533a3141b7c4f2a859b3a5b7e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp37-cp37m-musllinux_1_1_aarch64.whl
  • Upload date:
  • Size: 721.3 kB
  • Tags: CPython 3.7m, musllinux: musl 1.1+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 e5c31d70a478b0ca22a9d2d76d520ae996214019d39ed7dd93af872c7f301e52
MD5 48f7febc28a708e5265ce0601dff5813
BLAKE2b-256 cb3527c86731a6511cb2d43f66aaf3d9e3435669770ac55ca488716858809ef0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2022.1.18-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 552a39987ac6655dad4bf6f17dd2b55c7b0c6e949d933b8846d2e312ee80005a
MD5 427b0478609816a66eb9766b6bc3403f
BLAKE2b-256 82b909143a2072af5571227f1687e44fd9041cc5933fffaf2fbc30394c720141

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2022.1.18-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 04611cc0f627fc4a50bc4a9a2e6178a974c6a6a4aa9c1cca921635d2c47b9c87
MD5 350e30d7511262d4bcf3878940482ddc
BLAKE2b-256 f9044ccdb4835cc53e198c368d4021a8da83e2e805ea54b77e71fbf8f62a77f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2022.1.18-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 c9099bf89078675c372339011ccfc9ec310310bf6c292b413c013eb90ffdcafc
MD5 9afaa1dcfc39bc3b46ae8dd6466657fb
BLAKE2b-256 de5e4e8be0a8bda75f42bf76e75d7e1f9e350ed286f860cdde7f1761cf09392e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2022.1.18-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 22709d701e7037e64dae2a04855021b62efd64a66c3ceed99dfd684bfef09e38
MD5 eb2291ea5a4be8d565fa137855f7763c
BLAKE2b-256 85a06a81db54f2648f04fca87891f5882189f97188a06670aa0fe63c2eb5375c

See more details on using hashes here.

File details

Details for the file regex-2022.1.18-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-2022.1.18-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 2dacb3dae6b8cc579637a7b72f008bff50a94cde5e36e432352f4ca57b9e54c4
MD5 a66af98d9cc935a8125440058f8a378a
BLAKE2b-256 4acb000d0a1c9cae15e80577ff73d02c83ceb19fa8322abd1008fe00a4b30df6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2022.1.18-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1e031899cb2bc92c0cf4d45389eff5b078d1936860a1be3aa8c94fa25fb46ed8
MD5 ed4d167cc9fa3f0b9d1ef5dd39051c7f
BLAKE2b-256 35c70974f55eca9acd7a19e3965890388daca728282b3578845a90122f814f7f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 289.1 kB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7e070d3aef50ac3856f2ef5ec7214798453da878bb5e5a16c16a61edf1817cc3
MD5 6bea88f570c4e9c361daf459b49bec66
BLAKE2b-256 cb719418c9a22e11e2f2c194147d46d713a6d4e4ac33a0db49187272a0485c81

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 272.8 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 25716aa70a0d153cd844fe861d4f3315a6ccafce22b39d8aadbf7fcadff2b633
MD5 a3b9abf1c28977df7e38f76fdfe17ba8
BLAKE2b-256 2096c6de0da71bde4a06e2a7ad205985ff134931eb22be832efb589407c9f2be

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 256.7 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 2245441445099411b528379dee83e56eadf449db924648e5feb9b747473f42e3
MD5 746560769597a865f62cde98b3b89d03
BLAKE2b-256 ce7656097295b1a08e1ce26157562ea8ab2a4763dd49e590efd5114e5f5b5c3f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp36-cp36m-musllinux_1_1_x86_64.whl
  • Upload date:
  • Size: 726.1 kB
  • Tags: CPython 3.6m, musllinux: musl 1.1+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 8d2f355a951f60f0843f2368b39970e4667517e54e86b1508e76f92b44811a8a
MD5 4d78fdd24513a7a120ee2e4e9bff1046
BLAKE2b-256 06bcdbe0f3a3de7c4c2d7ecd008bfce131ec53c244f34485f363eb59828f7015

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp36-cp36m-musllinux_1_1_s390x.whl
  • Upload date:
  • Size: 744.9 kB
  • Tags: CPython 3.6m, musllinux: musl 1.1+ s390x
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp36-cp36m-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 d19a34f8a3429bd536996ad53597b805c10352a8561d8382e05830df389d2b43
MD5 fe453b7cebf74ef4722d86adcd295f25
BLAKE2b-256 6d02e22f21684a07a2f6eae2d978184b6eb495b0cac0a06cae46cc12dc47be07

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp36-cp36m-musllinux_1_1_ppc64le.whl
  • Upload date:
  • Size: 743.8 kB
  • Tags: CPython 3.6m, musllinux: musl 1.1+ ppc64le
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp36-cp36m-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 1333b3ce73269f986b1fa4d5d395643810074dc2de5b9d262eb258daf37dc98f
MD5 5aa8d47202ea5de7a09ff0dfff08d129
BLAKE2b-256 c8df6a1288a27c5aa28fe75c64b6aea37b82655d9f4b88ab96cc9e02891b251e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp36-cp36m-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 710.8 kB
  • Tags: CPython 3.6m, musllinux: musl 1.1+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 de2923886b5d3214be951bc2ce3f6b8ac0d6dfd4a0d0e2a4d2e5523d8046fdfb
MD5 acc19123d9926b8ffe982798902f419e
BLAKE2b-256 0a1c8f578a29e36af70771b0f56d3053c57d875321a20792047241056965ec5e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp36-cp36m-musllinux_1_1_aarch64.whl
  • Upload date:
  • Size: 721.6 kB
  • Tags: CPython 3.6m, musllinux: musl 1.1+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp36-cp36m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 768632fd8172ae03852e3245f11c8a425d95f65ff444ce46b3e673ae5b057b74
MD5 059a3d8e58620391586ae724d701e31c
BLAKE2b-256 cde05d0a6f22d63921e9c37f2c4bc92d505580d669e48ede5aef5e2aa757c3cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2022.1.18-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 637e27ea1ebe4a561db75a880ac659ff439dec7f55588212e71700bb1ddd5af9
MD5 9cb6a7076ee7bcab45ef6bfe3d398fe4
BLAKE2b-256 846147daefe11aa99dc7a3338fb5b1f619f4a2d60488d2be6c3a53ddda3cb0a1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2022.1.18-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 ba37f11e1d020969e8a779c06b4af866ffb6b854d7229db63c5fdddfceaa917f
MD5 75bb2cad4f7f82ec8e4d461c620e11ac
BLAKE2b-256 e86dfe5958f0eeb228c282a034789b6c7a7bea3bf6f22edc4ac3f656f73467ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2022.1.18-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 85ffd6b1cb0dfb037ede50ff3bef80d9bf7fa60515d192403af6745524524f3b
MD5 b87e6568bc2d492f33fbf64c7be766c0
BLAKE2b-256 cdb70282c55233f87b2be940d338e2c7b7b9867e88d0e3bb3c9700bb5584b40a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2022.1.18-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0d2f5c3f7057530afd7b739ed42eb04f1011203bc5e4663e1e1d01bb50f813e3
MD5 7de4173a26321b145c1323e3c983da02
BLAKE2b-256 0bd4e772432d181a70f2257eb26fd0966ae88cfcd100304900126f31d9da41bc

See more details on using hashes here.

File details

Details for the file regex-2022.1.18-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-2022.1.18-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 e54a1eb9fd38f2779e973d2f8958fd575b532fe26013405d1afb9ee2374e7ab8
MD5 8ee317004c62a3ec39d03ba517676d2f
BLAKE2b-256 9037b681d58e0867ea8958dcde0458e0632ce41b29b2772505788a37e25f26b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2022.1.18-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 37978254d9d00cda01acc1997513f786b6b971e57b778fbe7c20e30ae81a97f3
MD5 1f26a42e6f604e27ed4842d94de223e6
BLAKE2b-256 c9cd57c615f5b2072f6a283e0413d2653411bc2b916f41fe14e0b99971c17e8c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2022.1.18-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 289.3 kB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for regex-2022.1.18-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 49810f907dfe6de8da5da7d2b238d343e6add62f01a15d03e2195afc180059ed
MD5 661da5e6e2d5c3aac31d49cec52c6038
BLAKE2b-256 dfc4f4d44fcd72e2cc4981fcc5a34d68ba39248c5d13b3c736740467f01f9008

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