Skip to main content

Alternative regular expression module, to replace re.

Project description

Introduction

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

Note

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

Python 2

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

PyPy

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

Multithreading

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

Unicode

This module supports Unicode 15.0.0. Full Unicode case-folding is supported.

Flags

There are 2 kinds of flag: scoped and global. Scoped flags can apply to only part of a pattern and can be turned on or off; global flags apply to the entire pattern and can only be turned on.

The scoped flags are: ASCII (?a), FULLCASE (?f), IGNORECASE (?i), LOCALE (?L), MULTILINE (?m), DOTALL (?s), UNICODE (?u), VERBOSE (?x), WORD (?w).

The global flags are: BESTMATCH (?b), ENHANCEMATCH (?e), POSIX (?p), REVERSE (?r), VERSION0 (?V0), VERSION1 (?V1).

If neither the ASCII, LOCALE nor UNICODE flag is specified, it will default to UNICODE if the regex pattern is a Unicode string and ASCII if it’s a bytestring.

The ENHANCEMATCH flag makes fuzzy matching attempt to improve the fit of the next match that it finds.

The BESTMATCH flag makes fuzzy matching search for the best match instead of the next match.

Old vs new behaviour

In order to be compatible with the re module, this module has 2 behaviours:

  • Version 0 behaviour (old behaviour, compatible with the re module):

    Please note that the re module’s behaviour may change over time, and I’ll endeavour to match that behaviour in version 0.

    • Indicated by the VERSION0 flag.

    • Zero-width matches are not handled correctly in the re module before Python 3.7. The behaviour in those earlier versions is:

      • .split won’t split a string at a zero-width match.

      • .sub will advance by one character after a zero-width match.

    • Inline flags apply to the entire pattern, and they can’t be turned off.

    • Only simple sets are supported.

    • Case-insensitive matches in Unicode use simple case-folding by default.

  • Version 1 behaviour (new behaviour, possibly different from the re module):

    • Indicated by the VERSION1 flag.

    • Zero-width matches are handled correctly.

    • Inline flags apply to the end of the group or pattern, and they can be turned off.

    • Nested sets and set operations are supported.

    • Case-insensitive matches in Unicode use full case-folding by default.

If no version is specified, the regex module will default to regex.DEFAULT_VERSION.

Case-insensitive matches in Unicode

The regex module supports both simple and full case-folding for case-insensitive matches in Unicode. Use of full case-folding can be turned on using the FULLCASE flag. Please note that this flag affects how the IGNORECASE flag works; the FULLCASE flag itself does not turn on case-insensitive matching.

Version 0 behaviour: the flag is off by default.

Version 1 behaviour: the flag is on by default.

Nested sets and set operations

It’s not possible to support both simple sets, as used in the re module, and nested sets at the same time because of a difference in the meaning of an unescaped "[" in a set.

For example, the pattern [[a-z]--[aeiou]] is treated in the version 0 behaviour (simple sets, compatible with the re module) as:

  • Set containing “[” and the letters “a” to “z”

  • Literal “–”

  • Set containing letters “a”, “e”, “i”, “o”, “u”

  • Literal “]”

but in the version 1 behaviour (nested sets, enhanced behaviour) as:

  • Set which is:

    • Set containing the letters “a” to “z”

  • but excluding:

    • Set containing the letters “a”, “e”, “i”, “o”, “u”

Version 0 behaviour: only simple sets are supported.

Version 1 behaviour: nested sets and set operations are supported.

Notes on named groups

All groups have a group number, starting from 1.

Groups with the same group name will have the same group number, and groups with a different group name will have a different group number.

The same name can be used by more than one group, with later captures ‘overwriting’ earlier captures. All the captures of the group will be available from the captures method of the match object.

Group numbers will be reused across different branches of a branch reset, eg. (?|(first)|(second)) has only group 1. If groups have different group names then they will, of course, have different group numbers, eg. (?|(?P<foo>first)|(?P<bar>second)) has group 1 (“foo”) and group 2 (“bar”).

In the regex (\s+)(?|(?P<foo>[A-Z]+)|(\w+) (?P<foo>[0-9]+) there are 2 groups:

  • (\s+) is group 1.

  • (?P<foo>[A-Z]+) is group 2, also called “foo”.

  • (\w+) is group 2 because of the branch reset.

  • (?P<foo>[0-9]+) is group 2 because it’s called “foo”.

If you want to prevent (\w+) from being group 2, you need to name it (different name, different group number).

Additional features

The issue numbers relate to the Python bug tracker, except where listed otherwise.

Added \p{Horiz_Space} and \p{Vert_Space} (GitHub issue 477)

\p{Horiz_Space} or \p{H} matches horizontal whitespace and \p{Vert_Space} or \p{V} matches vertical whitespace.

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

The test of a conditional pattern can be a lookaround.

>>> regex.match(r'(?(?=\d)\d+|\w+)', '123abc')
<regex.Match object; span=(0, 3), match='123'>
>>> regex.match(r'(?(?=\d)\d+|\w+)', 'abc123')
<regex.Match object; span=(0, 6), match='abc123'>

This is not quite the same as putting a lookaround in the first branch of a pair of alternatives.

>>> print(regex.match(r'(?:(?=\d)\d+\b|\w+)', '123abc'))
<regex.Match object; span=(0, 6), match='123abc'>
>>> print(regex.match(r'(?(?=\d)\d+\b|\w+)', '123abc'))
None

In the first example, the lookaround matched, but the remainder of the first branch failed to match, and so the second branch was attempted, whereas in the second example, the lookaround matched, and the first branch failed to match, but the second branch was not attempted.

Added POSIX matching (leftmost longest) (Hg issue 150)

The POSIX standard for regex is to return the leftmost longest match. This can be turned on using the POSIX flag.

>>> # Normal matching.
>>> regex.search(r'Mr|Mrs', 'Mrs')
<regex.Match object; span=(0, 2), match='Mr'>
>>> regex.search(r'one(self)?(selfsufficient)?', 'oneselfsufficient')
<regex.Match object; span=(0, 7), match='oneself'>
>>> # POSIX matching.
>>> regex.search(r'(?p)Mr|Mrs', 'Mrs')
<regex.Match object; span=(0, 3), match='Mrs'>
>>> regex.search(r'(?p)one(self)?(selfsufficient)?', 'oneselfsufficient')
<regex.Match object; span=(0, 17), match='oneselfsufficient'>

Note that it will take longer to find matches because when it finds a match at a certain position, it won’t return that immediately, but will keep looking to see if there’s another longer match there.

Added (?(DEFINE)...) (Hg issue 152)

If there’s no group called “DEFINE”, then … will be ignored except that any groups defined within it can be called and that the normal rules for numbering groups still apply.

>>> regex.search(r'(?(DEFINE)(?P<quant>\d+)(?P<item>\w+))(?&quant) (?&item)', '5 elephants')
<regex.Match object; span=(0, 11), match='5 elephants'>

Added (*PRUNE), (*SKIP) and (*FAIL) (Hg issue 153)

(*PRUNE) discards the backtracking info up to that point. When used in an atomic group or a lookaround, it won’t affect the enclosing pattern.

(*SKIP) is similar to (*PRUNE), except that it also sets where in the text the next attempt to match will start. When used in an atomic group or a lookaround, it won’t affect the enclosing pattern.

(*FAIL) causes immediate backtracking. (*F) is a permitted abbreviation.

Added \K (Hg issue 151)

Keeps the part of the entire match after the position where \K occurred; the part before it is discarded.

It does not affect what groups return.

>>> m = regex.search(r'(\w\w\K\w\w\w)', 'abcdef')
>>> m[0]
'cde'
>>> m[1]
'abcde'
>>>
>>> m = regex.search(r'(?r)(\w\w\K\w\w\w)', 'abcdef')
>>> m[0]
'bc'
>>> m[1]
'bcdef'

Added capture subscripting for expandf and subf/subfn (Hg issue 133)

You can use subscripting to get the captures of a repeated group.

>>> m = regex.match(r"(\w)+", "abc")
>>> m.expandf("{1}")
'c'
>>> m.expandf("{1[0]} {1[1]} {1[2]}")
'a b c'
>>> m.expandf("{1[-1]} {1[-2]} {1[-3]}")
'c b a'
>>>
>>> m = regex.match(r"(?P<letter>\w)+", "abc")
>>> m.expandf("{letter}")
'c'
>>> m.expandf("{letter[0]} {letter[1]} {letter[2]}")
'a b c'
>>> m.expandf("{letter[-1]} {letter[-2]} {letter[-3]}")
'c b a'

Added support for referring to a group by number using (?P=...)

This is in addition to the existing \g<...>.

Fixed the handling of locale-sensitive regexes

The LOCALE flag is intended for legacy code and has limited support. You’re still recommended to use Unicode instead.

Added partial matches (Hg issue 102)

A partial match is one that matches up to the end of string, but that string has been truncated and you want to know whether a complete match could be possible if the string had not been truncated.

Partial matches are supported by match, search, fullmatch and finditer with the partial keyword argument.

Match objects have a partial attribute, which is True if it’s a partial match.

For example, if you wanted a user to enter a 4-digit number and check it character by character as it was being entered:

>>> pattern = regex.compile(r'\d{4}')

>>> # Initially, nothing has been entered:
>>> print(pattern.fullmatch('', partial=True))
<regex.Match object; span=(0, 0), match='', partial=True>

>>> # An empty string is OK, but it's only a partial match.
>>> # The user enters a letter:
>>> print(pattern.fullmatch('a', partial=True))
None
>>> # It'll never match.

>>> # The user deletes that and enters a digit:
>>> print(pattern.fullmatch('1', partial=True))
<regex.Match object; span=(0, 1), match='1', partial=True>
>>> # It matches this far, but it's only a partial match.

>>> # The user enters 2 more digits:
>>> print(pattern.fullmatch('123', partial=True))
<regex.Match object; span=(0, 3), match='123', partial=True>
>>> # It matches this far, but it's only a partial match.

>>> # The user enters another digit:
>>> print(pattern.fullmatch('1234', partial=True))
<regex.Match object; span=(0, 4), match='1234'>
>>> # It's a complete match.

>>> # If the user enters another digit:
>>> print(pattern.fullmatch('12345', partial=True))
None
>>> # It's no longer a match.

>>> # This is a partial match:
>>> pattern.match('123', partial=True).partial
True

>>> # This is a complete match:
>>> pattern.match('1233', partial=True).partial
False

* operator not working correctly with sub() (Hg issue 106)

Sometimes it’s not clear how zero-width matches should be handled. For example, should .* match 0 characters directly after matching >0 characters?

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

# Python 3.6 and earlier
>>> regex.sub('(?V0).*', 'x', 'test')
'x'
>>> regex.sub('(?V1).*', 'x', 'test')
'xx'
>>> regex.sub('(?V0).*?', '|', 'test')
'|t|e|s|t|'
>>> regex.sub('(?V1).*?', '|', 'test')
'|||||||||'

Added capturesdict (Hg issue 86)

capturesdict is a combination of groupdict and captures:

groupdict returns a dict of the named groups and the last capture of those groups.

captures returns a list of all the captures of a group

capturesdict returns a dict of the named groups and lists of all the captures of those groups.

>>> m = regex.match(r"(?:(?P<word>\w+) (?P<digits>\d+)\n)+", "one 1\ntwo 2\nthree 3\n")
>>> m.groupdict()
{'word': 'three', 'digits': '3'}
>>> m.captures("word")
['one', 'two', 'three']
>>> m.captures("digits")
['1', '2', '3']
>>> m.capturesdict()
{'word': ['one', 'two', 'three'], 'digits': ['1', '2', '3']}

Added allcaptures and allspans (Git issue 474)

allcaptures returns a list of all the captures of all the groups.

allspans returns a list of all the spans of the all captures of all the groups.

>>> m = regex.match(r"(?:(?P<word>\w+) (?P<digits>\d+)\n)+", "one 1\ntwo 2\nthree 3\n")
>>> m.allcaptures()
(['one 1\ntwo 2\nthree 3\n'], ['one', 'two', 'three'], ['1', '2', '3'])
>>> m.allspans()
([(0, 20)], [(0, 3), (6, 9), (12, 17)], [(4, 5), (10, 11), (18, 19)])

Allow duplicate names of groups (Hg issue 87)

Group names can be duplicated.

>>> # With optional groups:
>>>
>>> # Both groups capture, the second capture 'overwriting' the first.
>>> m = regex.match(r"(?P<item>\w+)? or (?P<item>\w+)?", "first or second")
>>> m.group("item")
'second'
>>> m.captures("item")
['first', 'second']
>>> # Only the second group captures.
>>> m = regex.match(r"(?P<item>\w+)? or (?P<item>\w+)?", " or second")
>>> m.group("item")
'second'
>>> m.captures("item")
['second']
>>> # Only the first group captures.
>>> m = regex.match(r"(?P<item>\w+)? or (?P<item>\w+)?", "first or ")
>>> m.group("item")
'first'
>>> m.captures("item")
['first']
>>>
>>> # With mandatory groups:
>>>
>>> # Both groups capture, the second capture 'overwriting' the first.
>>> m = regex.match(r"(?P<item>\w*) or (?P<item>\w*)?", "first or second")
>>> m.group("item")
'second'
>>> m.captures("item")
['first', 'second']
>>> # Again, both groups capture, the second capture 'overwriting' the first.
>>> m = regex.match(r"(?P<item>\w*) or (?P<item>\w*)", " or second")
>>> m.group("item")
'second'
>>> m.captures("item")
['', 'second']
>>> # And yet again, both groups capture, the second capture 'overwriting' the first.
>>> m = regex.match(r"(?P<item>\w*) or (?P<item>\w*)", "first or ")
>>> m.group("item")
''
>>> m.captures("item")
['first', '']

Added fullmatch (issue #16203)

fullmatch behaves like match, except that it must match all of the string.

>>> print(regex.fullmatch(r"abc", "abc").span())
(0, 3)
>>> print(regex.fullmatch(r"abc", "abcx"))
None
>>> print(regex.fullmatch(r"abc", "abcx", endpos=3).span())
(0, 3)
>>> print(regex.fullmatch(r"abc", "xabcy", pos=1, endpos=4).span())
(1, 4)
>>>
>>> regex.match(r"a.*?", "abcd").group(0)
'a'
>>> regex.fullmatch(r"a.*?", "abcd").group(0)
'abcd'

Added subf and subfn

subf and subfn are alternatives to sub and subn respectively. When passed a replacement string, they treat it as a format string.

>>> regex.subf(r"(\w+) (\w+)", "{0} => {2} {1}", "foo bar")
'foo bar => bar foo'
>>> regex.subf(r"(?P<word1>\w+) (?P<word2>\w+)", "{word2} {word1}", "foo bar")
'bar foo'

Added expandf to match object

expandf is an alternative to expand. When passed a replacement string, it treats it as a format string.

>>> m = regex.match(r"(\w+) (\w+)", "foo bar")
>>> m.expandf("{0} => {2} {1}")
'foo bar => bar foo'
>>>
>>> m = regex.match(r"(?P<word1>\w+) (?P<word2>\w+)", "foo bar")
>>> m.expandf("{word2} {word1}")
'bar foo'

Detach searched string

A match object contains a reference to the string that was searched, via its string attribute. The detach_string method will ‘detach’ that string, making it available for garbage collection, which might save valuable memory if that string is very large.

>>> m = regex.search(r"\w+", "Hello world")
>>> print(m.group())
Hello
>>> print(m.string)
Hello world
>>> m.detach_string()
>>> print(m.group())
Hello
>>> print(m.string)
None

Recursive patterns (Hg issue 27)

Recursive and repeated patterns are supported.

(?R) or (?0) tries to match the entire regex recursively. (?1), (?2), etc, try to match the relevant group.

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

>>> regex.match(r"(Tarzan|Jane) loves (?1)", "Tarzan loves Jane").groups()
('Tarzan',)
>>> regex.match(r"(Tarzan|Jane) loves (?1)", "Jane loves Tarzan").groups()
('Jane',)

>>> m = regex.search(r"(\w)(?:(?R)|(\w?))\1", "kayak")
>>> m.group(0, 1, 2)
('kayak', 'k', None)

The first two examples show how the subpattern within the group is reused, but is _not_ itself a group. In other words, "(Tarzan|Jane) loves (?1)" is equivalent to "(Tarzan|Jane) loves (?:Tarzan|Jane)".

It’s possible to backtrack into a recursed or repeated group.

You can’t call a group if there is more than one group with that group name or group number ("ambiguous group reference").

The alternative forms (?P>name) and (?P&name) are also supported.

Full Unicode case-folding is supported

In version 1 behaviour, the regex module uses full case-folding when performing case-insensitive matches in Unicode.

>>> regex.match(r"(?iV1)strasse", "stra\N{LATIN SMALL LETTER SHARP S}e").span()
(0, 6)
>>> regex.match(r"(?iV1)stra\N{LATIN SMALL LETTER SHARP S}e", "STRASSE").span()
(0, 7)

In version 0 behaviour, it uses simple case-folding for backward compatibility with the re module.

Approximate “fuzzy” matching (Hg issue 12, Hg issue 41, Hg issue 109)

Regex usually attempts an exact match, but sometimes an approximate, or “fuzzy”, match is needed, for those cases where the text being searched may contain errors in the form of inserted, deleted or substituted characters.

A fuzzy regex specifies which types of errors are permitted, and, optionally, either the minimum and maximum or only the maximum permitted number of each type. (You cannot specify only a minimum.)

The 3 types of error are:

  • Insertion, indicated by “i”

  • Deletion, indicated by “d”

  • Substitution, indicated by “s”

In addition, “e” indicates any type of error.

The fuzziness of a regex item is specified between “{” and “}” after the item.

Examples:

  • foo match “foo” exactly

  • (?:foo){i} match “foo”, permitting insertions

  • (?:foo){d} match “foo”, permitting deletions

  • (?:foo){s} match “foo”, permitting substitutions

  • (?:foo){i,s} match “foo”, permitting insertions and substitutions

  • (?:foo){e} match “foo”, permitting errors

If a certain type of error is specified, then any type not specified will not be permitted.

In the following examples I’ll omit the item and write only the fuzziness:

  • {d<=3} permit at most 3 deletions, but no other types

  • {i<=1,s<=2} permit at most 1 insertion and at most 2 substitutions, but no deletions

  • {1<=e<=3} permit at least 1 and at most 3 errors

  • {i<=2,d<=2,e<=3} permit at most 2 insertions, at most 2 deletions, at most 3 errors in total, but no substitutions

It’s also possible to state the costs of each type of error and the maximum permitted total cost.

Examples:

  • {2i+2d+1s<=4} each insertion costs 2, each deletion costs 2, each substitution costs 1, the total cost must not exceed 4

  • {i<=1,d<=1,s<=1,2i+2d+1s<=4} at most 1 insertion, at most 1 deletion, at most 1 substitution; each insertion costs 2, each deletion costs 2, each substitution costs 1, the total cost must not exceed 4

You can also use “<” instead of “<=” if you want an exclusive minimum or maximum.

You can add a test to perform on a character that’s substituted or inserted.

Examples:

  • {s<=2:[a-z]} at most 2 substitutions, which must be in the character set [a-z].

  • {s<=2,i<=3:\d} at most 2 substitutions, at most 3 insertions, which must be digits.

By default, fuzzy matching searches for the first match that meets the given constraints. The ENHANCEMATCH flag will cause it to attempt to improve the fit (i.e. reduce the number of errors) of the match that it has found.

The BESTMATCH flag will make it search for the best match instead.

Further examples to note:

  • regex.search("(dog){e}", "cat and dog")[1] returns "cat" because that matches "dog" with 3 errors (an unlimited number of errors is permitted).

  • regex.search("(dog){e<=1}", "cat and dog")[1] returns " dog" (with a leading space) because that matches "dog" with 1 error, which is within the limit.

  • regex.search("(?e)(dog){e<=1}", "cat and dog")[1] returns "dog" (without a leading space) because the fuzzy search matches " dog" with 1 error, which is within the limit, and the (?e) then it attempts a better fit.

In the first two examples there are perfect matches later in the string, but in neither case is it the first possible match.

The match object has an attribute fuzzy_counts which gives the total number of substitutions, insertions and deletions.

>>> # A 'raw' fuzzy match:
>>> regex.fullmatch(r"(?:cats|cat){e<=1}", "cat").fuzzy_counts
(0, 0, 1)
>>> # 0 substitutions, 0 insertions, 1 deletion.

>>> # A better match might be possible if the ENHANCEMATCH flag used:
>>> regex.fullmatch(r"(?e)(?:cats|cat){e<=1}", "cat").fuzzy_counts
(0, 0, 0)
>>> # 0 substitutions, 0 insertions, 0 deletions.

The match object also has an attribute fuzzy_changes which gives a tuple of the positions of the substitutions, insertions and deletions.

>>> m = regex.search('(fuu){i<=2,d<=2,e<=5}', 'anaconda foo bar')
>>> m
<regex.Match object; span=(7, 10), match='a f', fuzzy_counts=(0, 2, 2)>
>>> m.fuzzy_changes
([], [7, 8], [10, 11])

What this means is that if the matched part of the string had been:

'anacondfuuoo bar'

it would’ve been an exact match.

However, there were insertions at positions 7 and 8:

'anaconda fuuoo bar'
        ^^

and deletions at positions 10 and 11:

'anaconda f~~oo bar'
           ^^

So the actual string was:

'anaconda foo bar'

Named lists \L<name> (Hg issue 11)

There are occasions where you may want to include a list (actually, a set) of options in a regex.

One way is to build the pattern like this:

>>> p = regex.compile(r"first|second|third|fourth|fifth")

but if the list is large, parsing the resulting regex can take considerable time, and care must also be taken that the strings are properly escaped and properly ordered, for example, “cats” before “cat”.

The new alternative is to use a named list:

>>> option_set = ["first", "second", "third", "fourth", "fifth"]
>>> p = regex.compile(r"\L<options>", options=option_set)

The order of the items is irrelevant, they are treated as a set. The named lists are available as the .named_lists attribute of the pattern object :

>>> print(p.named_lists)
{'options': frozenset({'third', 'first', 'fifth', 'fourth', 'second'})}

If there are any unused keyword arguments, ValueError will be raised unless you tell it otherwise:

>>> option_set = ["first", "second", "third", "fourth", "fifth"]
>>> p = regex.compile(r"\L<options>", options=option_set, other_options=[])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python310\lib\site-packages\regex\regex.py", line 353, in compile
    return _compile(pattern, flags, ignore_unused, kwargs, cache_pattern)
  File "C:\Python310\lib\site-packages\regex\regex.py", line 500, in _compile
    complain_unused_args()
  File "C:\Python310\lib\site-packages\regex\regex.py", line 483, in complain_unused_args
    raise ValueError('unused keyword argument {!a}'.format(any_one))
ValueError: unused keyword argument 'other_options'
>>> p = regex.compile(r"\L<options>", options=option_set, other_options=[], ignore_unused=True)
>>> p = regex.compile(r"\L<options>", options=option_set, other_options=[], ignore_unused=False)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python310\lib\site-packages\regex\regex.py", line 353, in compile
    return _compile(pattern, flags, ignore_unused, kwargs, cache_pattern)
  File "C:\Python310\lib\site-packages\regex\regex.py", line 500, in _compile
    complain_unused_args()
  File "C:\Python310\lib\site-packages\regex\regex.py", line 483, in complain_unused_args
    raise ValueError('unused keyword argument {!a}'.format(any_one))
ValueError: unused keyword argument 'other_options'
>>>

Start and end of word

\m matches at the start of a word.

\M matches at the end of a word.

Compare with \b, which matches at the start or end of a word.

Unicode line separators

Normally the only line separator is \n (\x0A), but if the WORD flag is turned on then the line separators are \x0D\x0A, \x0A, \x0B, \x0C and \x0D, plus \x85, \u2028 and \u2029 when working with Unicode.

This affects the regex dot ".", which, with the DOTALL flag turned off, matches any character except a line separator. It also affects the line anchors ^ and $ (in multiline mode).

Set operators

Version 1 behaviour only

Set operators have been added, and a set [...] can include nested sets.

The operators, in order of increasing precedence, are:

  • || for union (“x||y” means “x or y”)

  • ~~ (double tilde) for symmetric difference (“x~~y” means “x or y, but not both”)

  • && for intersection (“x&&y” means “x and y”)

  • -- (double dash) for difference (“x–y” means “x but not y”)

Implicit union, ie, simple juxtaposition like in [ab], has the highest precedence. Thus, [ab&&cd] is the same as [[a||b]&&[c||d]].

Examples:

  • [ab] # Set containing ‘a’ and ‘b’

  • [a-z] # Set containing ‘a’ .. ‘z’

  • [[a-z]--[qw]] # Set containing ‘a’ .. ‘z’, but not ‘q’ or ‘w’

  • [a-z--qw] # Same as above

  • [\p{L}--QW] # Set containing all letters except ‘Q’ and ‘W’

  • [\p{N}--[0-9]] # Set containing all numbers except ‘0’ .. ‘9’

  • [\p{ASCII}&&\p{Letter}] # Set containing all characters which are ASCII and letter

regex.escape (issue #2650)

regex.escape has an additional keyword parameter special_only. When True, only ‘special’ regex characters, such as ‘?’, are escaped.

>>> regex.escape("foo!?", special_only=False)
'foo\\!\\?'
>>> regex.escape("foo!?", special_only=True)
'foo!\\?'

regex.escape (Hg issue 249)

regex.escape has an additional keyword parameter literal_spaces. When True, spaces are not escaped.

>>> regex.escape("foo bar!?", literal_spaces=False)
'foo\\ bar!\\?'
>>> regex.escape("foo bar!?", literal_spaces=True)
'foo bar!\\?'

Repeated captures (issue #7132)

A match object has additional methods which return information on all the successful matches of a repeated group. These methods are:

  • matchobject.captures([group1, ...])

    • Returns a list of the strings matched in a group or groups. Compare with matchobject.group([group1, ...]).

  • matchobject.starts([group])

    • Returns a list of the start positions. Compare with matchobject.start([group]).

  • matchobject.ends([group])

    • Returns a list of the end positions. Compare with matchobject.end([group]).

  • matchobject.spans([group])

    • Returns a list of the spans. Compare with matchobject.span([group]).

>>> m = regex.search(r"(\w{3})+", "123456789")
>>> m.group(1)
'789'
>>> m.captures(1)
['123', '456', '789']
>>> m.start(1)
6
>>> m.starts(1)
[0, 3, 6]
>>> m.end(1)
9
>>> m.ends(1)
[3, 6, 9]
>>> m.span(1)
(6, 9)
>>> m.spans(1)
[(0, 3), (3, 6), (6, 9)]

Atomic grouping (?>...) (issue #433030)

If the following pattern subsequently fails, then the subpattern as a whole will fail.

Possessive quantifiers

(?:...)?+ ; (?:...)*+ ; (?:...)++ ; (?:...){min,max}+

The subpattern is matched up to ‘max’ times. If the following pattern subsequently fails, then all the repeated subpatterns will fail as a whole. For example, (?:...)++ is equivalent to (?>(?:...)+).

Scoped flags (issue #433028)

(?flags-flags:...)

The flags will apply only to the subpattern. Flags can be turned on or off.

Definition of ‘word’ character (issue #1693050)

The definition of a ‘word’ character has been expanded for Unicode. It conforms to the Unicode specification at http://www.unicode.org/reports/tr29/.

Variable-length lookbehind

A lookbehind can match a variable-length string.

Flags argument for regex.split, regex.sub and regex.subn (issue #3482)

regex.split, regex.sub and regex.subn support a ‘flags’ argument.

Pos and endpos arguments for regex.sub and regex.subn

regex.sub and regex.subn support ‘pos’ and ‘endpos’ arguments.

‘Overlapped’ argument for regex.findall and regex.finditer

regex.findall and regex.finditer support an ‘overlapped’ flag which permits overlapped matches.

Splititer

regex.splititer has been added. It’s a generator equivalent of regex.split.

Subscripting match objects for groups

A match object accepts access to the groups via subscripting and slicing:

>>> m = regex.search(r"(?P<before>.*?)(?P<num>\d+)(?P<after>.*)", "pqr123stu")
>>> print(m["before"])
pqr
>>> print(len(m))
4
>>> print(m[:])
('pqr123stu', 'pqr', '123', 'stu')

Named groups

Groups can be named with (?<name>...) as well as the existing (?P<name>...).

Group references

Groups can be referenced within a pattern with \g<name>. This also allows there to be more than 99 groups.

Named characters \N{name}

Named characters are supported. Note that only those known by Python’s Unicode database will be recognised.

Unicode codepoint properties, including scripts and blocks

\p{property=value}; \P{property=value}; \p{value} ; \P{value}

Many Unicode properties are supported, including blocks and scripts. \p{property=value} or \p{property:value} matches a character whose property property has value value. The inverse of \p{property=value} is \P{property=value} or \p{^property=value}.

If the short form \p{value} is used, the properties are checked in the order: General_Category, Script, Block, binary property:

  • Latin, the ‘Latin’ script (Script=Latin).

  • BasicLatin, the ‘BasicLatin’ block (Block=BasicLatin).

  • Alphabetic, the ‘Alphabetic’ binary property (Alphabetic=Yes).

A short form starting with Is indicates a script or binary property:

  • IsLatin, the ‘Latin’ script (Script=Latin).

  • IsAlphabetic, the ‘Alphabetic’ binary property (Alphabetic=Yes).

A short form starting with In indicates a block property:

  • InBasicLatin, the ‘BasicLatin’ block (Block=BasicLatin).

POSIX character classes

[[:alpha:]]; [[:^alpha:]]

POSIX character classes are supported. These are normally treated as an alternative form of \p{...}.

The exceptions are alnum, digit, punct and xdigit, whose definitions are different from those of Unicode.

[[:alnum:]] is equivalent to \p{posix_alnum}.

[[:digit:]] is equivalent to \p{posix_digit}.

[[:punct:]] is equivalent to \p{posix_punct}.

[[:xdigit:]] is equivalent to \p{posix_xdigit}.

Search anchor \G

A search anchor has been added. It matches at the position where each search started/continued and can be used for contiguous matches or in negative variable-length lookbehinds to limit how far back the lookbehind goes:

>>> regex.findall(r"\w{2}", "abcd ef")
['ab', 'cd', 'ef']
>>> regex.findall(r"\G\w{2}", "abcd ef")
['ab', 'cd']
  • The search starts at position 0 and matches ‘ab’.

  • The search continues at position 2 and matches ‘cd’.

  • The search continues at position 4 and fails to match any letters.

  • The anchor stops the search start position from being advanced, so there are no more results.

Reverse searching

Searches can also work backwards:

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

Note that the result of a reverse search is not necessarily the reverse of a forward search:

>>> regex.findall(r"..", "abcde")
['ab', 'cd']
>>> regex.findall(r"(?r)..", "abcde")
['de', 'bc']

Matching a single grapheme \X

The grapheme matcher is supported. It conforms to the Unicode specification at http://www.unicode.org/reports/tr29/.

Branch reset (?|...|...)

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

>>> regex.match(r"(?|(first)|(second))", "first").groups()
('first',)
>>> regex.match(r"(?|(first)|(second))", "second").groups()
('second',)

Note that there is only one group.

Default Unicode word boundary

The WORD flag changes the definition of a ‘word boundary’ to that of a default Unicode word boundary. This applies to \b and \B.

Timeout

The matching methods and functions support timeouts. The timeout (in seconds) applies to the entire operation:

>>> from time import sleep
>>>
>>> def fast_replace(m):
...     return 'X'
...
>>> def slow_replace(m):
...     sleep(0.5)
...     return 'X'
...
>>> regex.sub(r'[a-z]', fast_replace, 'abcde', timeout=2)
'XXXXX'
>>> regex.sub(r'[a-z]', slow_replace, 'abcde', timeout=2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python310\lib\site-packages\regex\regex.py", line 278, in sub
    return pat.sub(repl, string, count, pos, endpos, concurrent, timeout)
TimeoutError: regex timed out

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

regex-2023.6.3.tar.gz (392.2 kB view details)

Uploaded Source

Built Distributions

regex-2023.6.3-cp311-cp311-win_amd64.whl (268.0 kB view details)

Uploaded CPython 3.11 Windows x86-64

regex-2023.6.3-cp311-cp311-win32.whl (256.1 kB view details)

Uploaded CPython 3.11 Windows x86

regex-2023.6.3-cp311-cp311-musllinux_1_1_x86_64.whl (751.1 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

regex-2023.6.3-cp311-cp311-musllinux_1_1_s390x.whl (771.3 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ s390x

regex-2023.6.3-cp311-cp311-musllinux_1_1_ppc64le.whl (769.4 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ ppc64le

regex-2023.6.3-cp311-cp311-musllinux_1_1_i686.whl (736.7 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

regex-2023.6.3-cp311-cp311-musllinux_1_1_aarch64.whl (747.4 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ ARM64

regex-2023.6.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (781.9 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

regex-2023.6.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (807.6 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

regex-2023.6.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (822.2 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

regex-2023.6.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (781.1 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

regex-2023.6.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (769.5 kB view details)

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

regex-2023.6.3-cp311-cp311-macosx_11_0_arm64.whl (289.0 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

regex-2023.6.3-cp311-cp311-macosx_10_9_x86_64.whl (294.7 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

regex-2023.6.3-cp310-cp310-win_amd64.whl (268.0 kB view details)

Uploaded CPython 3.10 Windows x86-64

regex-2023.6.3-cp310-cp310-win32.whl (256.1 kB view details)

Uploaded CPython 3.10 Windows x86

regex-2023.6.3-cp310-cp310-musllinux_1_1_x86_64.whl (741.6 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

regex-2023.6.3-cp310-cp310-musllinux_1_1_s390x.whl (764.6 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ s390x

regex-2023.6.3-cp310-cp310-musllinux_1_1_ppc64le.whl (759.5 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ ppc64le

regex-2023.6.3-cp310-cp310-musllinux_1_1_i686.whl (728.8 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

regex-2023.6.3-cp310-cp310-musllinux_1_1_aarch64.whl (738.0 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

regex-2023.6.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (770.4 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

regex-2023.6.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (795.4 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

regex-2023.6.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (809.8 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

regex-2023.6.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (769.2 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

regex-2023.6.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (685.9 kB view details)

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

regex-2023.6.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (759.3 kB view details)

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

regex-2023.6.3-cp310-cp310-macosx_11_0_arm64.whl (289.0 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

regex-2023.6.3-cp310-cp310-macosx_10_9_x86_64.whl (294.6 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

regex-2023.6.3-cp39-cp39-win_amd64.whl (268.1 kB view details)

Uploaded CPython 3.9 Windows x86-64

regex-2023.6.3-cp39-cp39-win32.whl (256.1 kB view details)

Uploaded CPython 3.9 Windows x86

regex-2023.6.3-cp39-cp39-musllinux_1_1_x86_64.whl (741.3 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

regex-2023.6.3-cp39-cp39-musllinux_1_1_s390x.whl (763.9 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ s390x

regex-2023.6.3-cp39-cp39-musllinux_1_1_ppc64le.whl (758.7 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ ppc64le

regex-2023.6.3-cp39-cp39-musllinux_1_1_i686.whl (728.2 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

regex-2023.6.3-cp39-cp39-musllinux_1_1_aarch64.whl (737.6 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ ARM64

regex-2023.6.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (769.9 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

regex-2023.6.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (794.6 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ s390x

regex-2023.6.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (809.4 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ppc64le

regex-2023.6.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (768.7 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

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

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

regex-2023.6.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (758.8 kB view details)

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

regex-2023.6.3-cp39-cp39-macosx_11_0_arm64.whl (289.0 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

regex-2023.6.3-cp39-cp39-macosx_10_9_x86_64.whl (294.6 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

regex-2023.6.3-cp38-cp38-win_amd64.whl (268.1 kB view details)

Uploaded CPython 3.8 Windows x86-64

regex-2023.6.3-cp38-cp38-win32.whl (256.1 kB view details)

Uploaded CPython 3.8 Windows x86

regex-2023.6.3-cp38-cp38-musllinux_1_1_x86_64.whl (747.6 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

regex-2023.6.3-cp38-cp38-musllinux_1_1_s390x.whl (769.5 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ s390x

regex-2023.6.3-cp38-cp38-musllinux_1_1_ppc64le.whl (766.5 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ ppc64le

regex-2023.6.3-cp38-cp38-musllinux_1_1_i686.whl (733.3 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

regex-2023.6.3-cp38-cp38-musllinux_1_1_aarch64.whl (744.6 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ ARM64

regex-2023.6.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (772.3 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

regex-2023.6.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (795.8 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ s390x

regex-2023.6.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (811.9 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ppc64le

regex-2023.6.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (771.4 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

regex-2023.6.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (691.4 kB view details)

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

regex-2023.6.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (761.3 kB view details)

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

regex-2023.6.3-cp38-cp38-macosx_11_0_arm64.whl (288.8 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

regex-2023.6.3-cp38-cp38-macosx_10_9_x86_64.whl (294.6 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

regex-2023.6.3-cp37-cp37m-win_amd64.whl (268.4 kB view details)

Uploaded CPython 3.7m Windows x86-64

regex-2023.6.3-cp37-cp37m-win32.whl (255.8 kB view details)

Uploaded CPython 3.7m Windows x86

regex-2023.6.3-cp37-cp37m-musllinux_1_1_x86_64.whl (729.9 kB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

regex-2023.6.3-cp37-cp37m-musllinux_1_1_s390x.whl (753.2 kB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ s390x

regex-2023.6.3-cp37-cp37m-musllinux_1_1_ppc64le.whl (752.0 kB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ ppc64le

regex-2023.6.3-cp37-cp37m-musllinux_1_1_i686.whl (718.8 kB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

regex-2023.6.3-cp37-cp37m-musllinux_1_1_aarch64.whl (728.6 kB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ ARM64

regex-2023.6.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (755.7 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

regex-2023.6.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl (781.8 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ s390x

regex-2023.6.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (797.1 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ppc64le

regex-2023.6.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (754.6 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

regex-2023.6.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (676.5 kB view details)

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

regex-2023.6.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (743.6 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

regex-2023.6.3-cp37-cp37m-macosx_10_9_x86_64.whl (295.0 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

regex-2023.6.3-cp36-cp36m-win_amd64.whl (279.9 kB view details)

Uploaded CPython 3.6m Windows x86-64

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

Uploaded CPython 3.6m Windows x86

regex-2023.6.3-cp36-cp36m-musllinux_1_1_x86_64.whl (729.3 kB view details)

Uploaded CPython 3.6m musllinux: musl 1.1+ x86-64

regex-2023.6.3-cp36-cp36m-musllinux_1_1_s390x.whl (754.9 kB view details)

Uploaded CPython 3.6m musllinux: musl 1.1+ s390x

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

Uploaded CPython 3.6m musllinux: musl 1.1+ ppc64le

regex-2023.6.3-cp36-cp36m-musllinux_1_1_i686.whl (719.1 kB view details)

Uploaded CPython 3.6m musllinux: musl 1.1+ i686

regex-2023.6.3-cp36-cp36m-musllinux_1_1_aarch64.whl (728.0 kB view details)

Uploaded CPython 3.6m musllinux: musl 1.1+ ARM64

regex-2023.6.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (756.6 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

regex-2023.6.3-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl (781.7 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ s390x

regex-2023.6.3-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (796.5 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ ppc64le

regex-2023.6.3-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (755.2 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ ARM64

regex-2023.6.3-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (676.4 kB view details)

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

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

Uploaded CPython 3.6m manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

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

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for regex-2023.6.3.tar.gz
Algorithm Hash digest
SHA256 72d1a25bf36d2050ceb35b517afe13864865268dfb45910e2e17a84be6cbfeb0
MD5 8bd710d62b727ca92c89ab566bdf5128
BLAKE2b-256 18df401fd39ffd50062ff1e0344f95f8e2c141de4fd1eca1677d2f29609e5389

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2023.6.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 09e4a1a6acc39294a36b7338819b10baceb227f7f7dbbea0506d419b5a1dd8af
MD5 8f437306f5edfdb7ed73423101a5eb25
BLAKE2b-256 506acd59b2e1d6817858e3f332b4128e9246bf8408a7a791f8b77b08633a959d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2023.6.3-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 fb5ec16523dc573a4b277663a2b5a364e2099902d3944c9419a40ebd56a118f9
MD5 cfc26459023e4f50ee3e2970977b7701
BLAKE2b-256 e59212ba400c17f36b48c62c3bbfada39efce1757f41b72e52930b55bcdb71c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 74419d2b50ecb98360cfaa2974da8689cb3b45b9deff0dcf489c0d333bcc1477
MD5 add999aba47c8b208e408f1675a9b622
BLAKE2b-256 b4f07d5ea7e4a9badd4a7313ce1819d11b992ae531dfcf054eb3fa81bfb6fd19

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp311-cp311-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 6b2675068c8b56f6bfd5a2bda55b8accbb96c02fd563704732fd1c95e2083461
MD5 249b0e3d8a7ae825a6b56d0e23f9a9f3
BLAKE2b-256 99f2aec602e73e83d752a5bf8b0b2c78ec3750c02877c8347fba84b33588b02e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp311-cp311-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 e2fbd6236aae3b7f9d514312cdb58e6494ee1c76a9948adde6eba33eb1c4264f
MD5 fb269d38e8c5f97c4d4bf254b7ba7e68
BLAKE2b-256 770b05c9e0d2dec2631d552a82e744fecdac3ae2ddf0fe65c8d23174af3a7075

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 10590510780b7541969287512d1b43f19f965c2ece6c9b1c00fc367b29d8dce7
MD5 805e9b4ba3bc94189ba4dd43b2fc505e
BLAKE2b-256 c66b1d3757fe15d8df87ec0e10bed569d1818cc6ea312b5769ebfac12da81319

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 ea353ecb6ab5f7e7d2f4372b1e779796ebd7b37352d290096978fea83c4dba0c
MD5 e55cbf9eb7b6a03e74eafbcde145f378
BLAKE2b-256 6ee72750bbfb1241d22a3be92c5c9905d1cd64c13ab3f1698970aa130d9f3094

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0c29ca1bd61b16b67be247be87390ef1d1ef702800f91fbd1991f5c4421ebae8
MD5 3f64b472060c9376ca055af2802498c7
BLAKE2b-256 ace15647cd9d8131d2d8b39cf02ded3799b21ab17434d1764fc2df9523ea3ad1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 12b74fbbf6cbbf9dbce20eb9b5879469e97aeeaa874145517563cca4029db65c
MD5 4176ac26bf715cfd752f89debc149ff1
BLAKE2b-256 22dbb004d91e1636f5dd4923bf530017289624d2f38cc9bec37cbb92d163093e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 29cdd471ebf9e0f2fb3cac165efedc3c58db841d83a518b082077e612d3ee5df
MD5 bbf4fb32f648a0b1be082cabf8d311f1
BLAKE2b-256 ca6f8280b66724aa5443af51fdf9fd20899237b7d0e8cb87d2a7bea208c22ff8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dcba6dae7de533c876255317c11f3abe4907ba7d9aa15d13e3d9710d4315ec0e
MD5 da3b6557d72d3155cb9c41aee6a4f38f
BLAKE2b-256 95bfb102bd6c3ffe15520cc363064be5f230d2f9dabba2c58bf2f07a584d02e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d77f09bc4b55d4bf7cc5eba785d87001d6757b7c9eec237fe2af57aba1a071d9
MD5 707cc41fee6160bbab2a2e07b861761f
BLAKE2b-256 3922db126ddbcfd224acb821664f3381ab69c68cceea7c8c05f6ceabb16dfdb7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9edcbad1f8a407e450fbac88d89e04e0b99a08473f666a3f3de0fd292badb6aa
MD5 a7d1bf5a58051ecf44d103b208e6f9b8
BLAKE2b-256 f8bc01e6a5597904147d13c1a6dc16ec334b73cddb190b6b8f05fca2c0bfbe89

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c123f662be8ec5ab4ea72ea300359023a5d1df095b7ead76fedcd8babbedf969
MD5 a2c7961992b5aa80465eefa911ee548e
BLAKE2b-256 5aa902c49ceb346a0bc6fbfe591c25cbd436a85a9af3458d418563c72c3ac738

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2023.6.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c5f8037000eb21e4823aa485149f2299eb589f8d1fe4b448036d230c3f4e68e0
MD5 e9aa241122baf9547a24300532b3294a
BLAKE2b-256 5764334ac6ed71e30eb370eeef457e899a176b99bfd367937c0f7e723c604e76

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2023.6.3-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 dbbbfce33cd98f97f6bffb17801b0576e653f4fdb1d399b2ea89638bc8d08ae1
MD5 16c34a99445567f3cb81d9c588d71f03
BLAKE2b-256 d59d735ff91370569d5df0f3c26f0e95485728483e85da31daed2a0fd964eb8f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 10cb847aeb1728412c666ab2e2000ba6f174f25b2bdc7292e7dd71b16db07568
MD5 48fa7599dbdfd64fcffc865546cb6419
BLAKE2b-256 aafd3f117ca6778e373fa73ecb9f0ca2b7bf6b65d0546556876055fb59e8f4b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp310-cp310-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 3676f1dd082be28b1266c93f618ee07741b704ab7b68501a173ce7d8d0d0ca18
MD5 c537a73e9a2e564d78038035ac53a89a
BLAKE2b-256 782616a1d719b9867ae7580ad11be9933bfa7efcfc7909fb4ac92c3c893ac1d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp310-cp310-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 25be746a8ec7bc7b082783216de8e9473803706723b3f6bef34b3d0ed03d57e2
MD5 04be14a3a4cc89344304ab0a2dc4cb4b
BLAKE2b-256 714481329377dd62a53dfb03cc9fac08e1d9285e3d81195c6dd9f0f0e6513edc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 a8105e9af3b029f243ab11ad47c19b566482c150c754e4c717900a798806b222
MD5 11cbf95bc5b9296b1abd8e76f5bce1b4
BLAKE2b-256 1e9947006c83a6f8aa28a4a22d47803e9d0795f4a2ad25e68c22dbeeb5066b6c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 890e5a11c97cf0d0c550eb661b937a1e45431ffa79803b942a057c4fb12a2da2
MD5 23c09c3f894066cd78004a19525e5eeb
BLAKE2b-256 98a1877f80246e3a5158574d7344a6e7adda9ddb9ddc427120928bdf74879383

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4959e8bcbfda5146477d21c3a8ad81b185cd252f3d0d6e4724a5ef11c012fb06
MD5 59578dfd63071d85edb820b6b11eff97
BLAKE2b-256 a40685618f80ae552ac309ead9702c6826edda27884e26e07fdc8fa93f283546

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 43e1dd9d12df9004246bacb79a0e5886b3b6071b32e41f83b0acbf293f820ee8
MD5 c679776344e4aff2d24c9b03f0f0ef51
BLAKE2b-256 5f59773cf93716a073555d2245bc85efd47ae36d042ba21a306927c58e4aeb8b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 8e3f1316c2293e5469f8f09dc2d76efb6c3982d3da91ba95061a7e69489a14ef
MD5 65cf45cddb1c7ce4a2cbe6c942e4c19e
BLAKE2b-256 35e41affff5a828bb63435a73c29ce319d5f9b078ccf3ca45c931b841e713d03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0b49c764f88a79160fa64f9a7b425620e87c9f46095ef9c9920542ab2495c8bc
MD5 438cb302506aa25e86bbb147f6c0742c
BLAKE2b-256 f9a5703d590158a252b3e96332d7a420669b0395b7b98a2b34395af1f4f8f95f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 2239d95d8e243658b8dbb36b12bd10c33ad6e6933a54d36ff053713f129aa536
MD5 b6a9eb1508e77b946f13f356fe18d64d
BLAKE2b-256 f459de8f00338fa853b1616e3ea3a335565dea69057fd68c8d159055a90a563f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 af4dd387354dc83a3bff67127a124c21116feb0d2ef536805c454721c5d7993d
MD5 435a043cf3c8cd809a470357e07a383e
BLAKE2b-256 772e976df13a2aae664271d2c0af547fed4388614d662f8e9621f98a8c3fce9a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 05ed27acdf4465c95826962528f9e8d41dbf9b1aa8531a387dee6ed215a3e9ef
MD5 319c891278d6949de42c89b8cb00ed97
BLAKE2b-256 cdc3c97e8ed1ba9cdd35aaa82aa5c2be752a0cda44e77aeb22810e547877405b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 824bf3ac11001849aec3fa1d69abcb67aac3e150a933963fb12bda5151fe1bfd
MD5 8d183af2c130a1f52ae24db219ac2915
BLAKE2b-256 f47823a351b0aa381cb38ed7b6da8ced8522a57c1f333b78872c1940cde63da7

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2023.6.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 bdff5eab10e59cf26bc479f565e25ed71a7d041d1ded04ccf9aee1d9f208487a
MD5 7e2e458f330b9c50e400e7caa9884e3d
BLAKE2b-256 8df2dbefb119076d67172e032ef325dcfb56dad6bffa690035b3b962294e1946

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2023.6.3-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 20326216cc2afe69b6e98528160b225d72f85ab080cbdf0b11528cbbaba2248f
MD5 159cd927d693e5281e41a1d417c6be3e
BLAKE2b-256 8c0c020e099c742242b9aa4b378aae99b2c121e6a989168aa1755e1c6da76529

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 e5087a3c59eef624a4591ef9eaa6e9a8d8a94c779dade95d27c0bc24650261cd
MD5 72f54fd1fd8e2b26297d0a269862e3f7
BLAKE2b-256 a265a829d07e13818d720b2aca34550a4f166b86ad729997372b65c5a4aff281

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp39-cp39-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 3e5219bf9e75993d73ab3d25985c857c77e614525fac9ae02b1bebd92f7cecac
MD5 3ca18c353e08726370bfacabf02700b6
BLAKE2b-256 62eb5a94c917a2b94ad467854110c880b9e92e2127925ac82e6ea6b6f36f502d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp39-cp39-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 c6a57b742133830eec44d9b2290daf5cbe0a2f1d6acee1b3c7b1c7b2f3606df7
MD5 0add593318636e1bf6af3e37b0277619
BLAKE2b-256 8f16a80fc1e09a9c9012827197fe1721c2b9e994f9dc36e99a5a397b67564a45

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 0385e73da22363778ef2324950e08b689abdf0b108a7d8decb403ad7f5191938
MD5 abd06a64ae14cdfee34c9762a3e532d0
BLAKE2b-256 a62f4a0afe16db5ee680d346aed1bfc1ef73c185e84749b7de870440e7abf740

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 aad51907d74fc183033ad796dd4c2e080d1adcc4fd3c0fd4fd499f30c03011cd
MD5 106cefe9c50ca03a42b678b0106e95c2
BLAKE2b-256 09f5a9d7f45433797945c3b48e3d19c81378d3d245c5a914a8362351a239e82c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 051da80e6eeb6e239e394ae60704d2b566aa6a7aed6f2890a7967307267a5dc6
MD5 f4b463132649f3b4046a9915c58dbdd6
BLAKE2b-256 5ea82e3626392c4fcf7e3920cae166155542838be2048384989e2c6f024b793d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 5c6b48d0fa50d8f4df3daf451be7f9689c2bde1a52b1225c5926e3f54b6a9ed1
MD5 bc1f6bb4b2f612ac84daa490ab57b480
BLAKE2b-256 c2eff4756e6f12acebf3fddaab1c4424a7de671ed177d570977b9045b2412065

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 9a5bfb3004f2144a084a16ce19ca56b8ac46e6fd0651f54269fc9e230edb5e4a
MD5 c62ad737a6d74a69cd605822272d9fb0
BLAKE2b-256 88087ce5845ffb8a17fb65e6508af6423ace4ff8f6934706ec44d632f97365b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e0bb18053dfcfed432cc3ac632b5e5e5c5b7e55fb3f8090e867bfd9b054dbcbf
MD5 f394a720161cc0a42ac02e0bb0506d42
BLAKE2b-256 f4893c20ba852caf53109664be290bc1cc0802bffd2a8f2390175d157fdbecab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 457b6cce21bee41ac292d6753d5e94dcbc5c9e3e3a834da285b0bde7aa4a11e9
MD5 2454d8cc977c6543cee5a4bc07433434
BLAKE2b-256 549020898bc1103bc4a493d117ce677195820a7468f48c2f8e70a57502f10fc8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a4c3b7fa4cdaa69268748665a1a6ff70c014d39bb69c50fda64b396c9116cf77
MD5 85996f884085914e1ce31761f856d940
BLAKE2b-256 e692e13fc1421ed8d8a2abf8e3e5e115ce863eb97e4f1548285d9ef9c27f4e7a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b28f5024a3a041009eb4c333863d7894d191215b39576535c6734cd88b0fcb68
MD5 7c02d7f513bd2a4d0be940059feebb54
BLAKE2b-256 7a58586acf6a0acc3584101865b8a8e6f434c645e3626f738dc28c59fca77c0d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ccf91346b7bd20c790310c4147eee6ed495a54ddb6737162a36ce9dbef3e4751
MD5 59a9a572a4abfb50bb1be1bd820c98f2
BLAKE2b-256 7c0d3bef95986d04572a546b750668f0af88d82a7cdb7f5e1aacfb2b5e4159f6

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2023.6.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 d4f03bb71d482f979bda92e1427f3ec9b220e62a7dd337af0aa6b47bf4498f72
MD5 db3dc92d47616d70a01d67a32a28cf20
BLAKE2b-256 ec1a54672edc40464035adcb4df336399882c39bc8cec32f0cafc2a589bd423a

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2023.6.3-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 f415f802fbcafed5dcc694c13b1292f07fe0befdb94aa8a52905bd115ff41e88
MD5 07cfa5d0a0f43f5c84e0bdfce48ab78c
BLAKE2b-256 9bdd107ec7fb8878e0ebfb88431654f6ba4b57c6c5780a03771185771f05aa29

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b4598b1897837067a57b08147a68ac026c1e73b31ef6e36deeeb1fa60b2933c9
MD5 298a86f77fb0f1df9d834b16ef7a3abd
BLAKE2b-256 13c159afc5f6d3c3d34c601df340e51adb3770303b50469b7ab8bcd2348ea279

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp38-cp38-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 cf67ca618b4fd34aee78740bea954d7c69fdda419eb208c2c0c7060bb822d747
MD5 d71aa045a123f72000dd121537afb430
BLAKE2b-256 05bb72408a1c713e470abe144bce3622d7b1feadd74fab1f9c7fc5e1e4d5917b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp38-cp38-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 36efeba71c6539d23c4643be88295ce8c82c88bbd7c65e8a24081d2ca123da3f
MD5 e9a58600236fde3979f195776e9622f5
BLAKE2b-256 28fdf5947c44a520a71f7994b2d5e4cf832e4c100f667ad19abdda0287d510f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 b956231ebdc45f5b7a2e1f90f66a12be9610ce775fe1b1d50414aac1e9206c06
MD5 691939da1eb2331e91a7c0addc5a1b73
BLAKE2b-256 4dbf5b9039fc53f8ff3905719bca594865ef78cf14b286fe5c493ea0a1c17eb7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 9edce5281f965cf135e19840f4d93d55b3835122aa76ccacfd389e880ba4cf82
MD5 dcc220f5706e5e0eb0db035051c70ef5
BLAKE2b-256 aa0de2e195252b00a1a265e93b8b03ff4b71f59e1ce543b302110f96f1725335

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4d3850beab9f527f06ccc94b446c864059c57651b3f911fddb8d9d3ec1d1b25d
MD5 9013cc9d11fb51e437b43f14b6198605
BLAKE2b-256 c43dd7ed16c298101bc7f5e3a65aef1ab34c1d7e1a89893491a4b1faf20701aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 687ea9d78a4b1cf82f8479cab23678aff723108df3edeac098e5b2498879f4a7
MD5 dc060de3a1ba639d52b7b87cd99a7e31
BLAKE2b-256 e3667fead0a8c429d2b0c2a0507546395f10b0317ff59a28b02ade491b163277

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 5708089ed5b40a7b2dc561e0c8baa9535b77771b64a8330b684823cfd5116036
MD5 099abbd9a8bd6348147c87a0cca077d8
BLAKE2b-256 8e52647c065f62f113daafda19b4b15af3ce034840e756f95a1f7e21e03fc81c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a99b50300df5add73d307cf66abea093304a07eb017bce94f01e795090dea87c
MD5 e0094319e28cff3982158e1b048b6044
BLAKE2b-256 1c242ba9ef65389e08fc7663d683da5b4ca9ac8731d36861642f8777c99b099c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 841d6e0e5663d4c7b4c8099c9997be748677d46cbf43f9f471150e560791f7ff
MD5 f2b310547b27d632db916b97bc281ac6
BLAKE2b-256 f1d7a207054d18af0a086566bed2b51a85c00a1a631fdcf7cdcb942554e85211

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e8915cc96abeb8983cea1df3c939e3c6e1ac778340c17732eb63bb96247b91d2
MD5 b5e4c69cd28e35d51c3fde4e583d94dd
BLAKE2b-256 c46df00a81a218f05538dd13b1fb4cd7fabf313fde41670f7b5265b52d50cbce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d2da3abc88711bce7557412310dfa50327d5769a31d1c894b58eb256459dc289
MD5 96389779b18c38fb7265c6bf9433d93c
BLAKE2b-256 7a2b202aa672ad6963d61033de28fc5077f4fbe2cea391ffc13f0965b38381d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8f56fcb7ff7bf7404becdfc60b1e81a6d0561807051fd2f1860b0d0348156a07
MD5 3d2524985180fbf8d25789c219191e6b
BLAKE2b-256 84e72ae56083cd0da3da1fe79d61fe4fe6e3ab5f114660a751fecefa77a78225

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2023.6.3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 fea75c3710d4f31389eed3c02f62d0b66a9da282521075061ce875eb5300cf23
MD5 a7a03d57402d5864f0b5d42e1e6c2b17
BLAKE2b-256 e7fc6e4fab6dc7b1a2d521f2e9dd5380c6b2453770a0f425021d744d29c47a89

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2023.6.3-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 9beb322958aaca059f34975b0df135181f2e5d7a13b84d3e0e45434749cb20f7
MD5 fa1d45b3d906c6513cb3d4e44bb26222
BLAKE2b-256 0e616792590a31015cb352a30dd4a09039babbaaa5666d6108f3462a5cd2deb0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 271f0bdba3c70b58e6f500b205d10a36fb4b58bd06ac61381b68de66442efddb
MD5 b9abeaa185ec6432ffe2ec9149c7ca5f
BLAKE2b-256 caaf13ecdd9a0f82de8f888917d08327f0e5e56875f6d3751bad9906ec994902

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp37-cp37m-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 65ba8603753cec91c71de423a943ba506363b0e5c3fdb913ef8f9caa14b2c7e0
MD5 8a411b53621d6e33c8267ca0a0f1b22c
BLAKE2b-256 66bcc328b4cba36217a5b865c36e0908f198eb030ebd8a138c630ed7f3ee3cdd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp37-cp37m-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 bb60b503ec8a6e4e3e03a681072fa3a5adcbfa5479fa2d898ae2b4a8e24c4591
MD5 27bce6589e6e5618e0e59ac953202f7b
BLAKE2b-256 e135b9152dc20b385459b2533cc8f81212eb9835469e5aa0ce3d38386df788bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 7117d10690c38a622e54c432dfbbd3cbd92f09401d622902c32f6d377e2300ee
MD5 6e26b2f28391799fcbf3e930578caf4b
BLAKE2b-256 b61ac0219bdc19572a62a1506267d680cfadf2e0b21739f8d350eaf77e6e77e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 d54af539295392611e7efbe94e827311eb8b29668e2b3f4cadcfe6f46df9c777
MD5 003c139b048b62e0cade82f64727b09a
BLAKE2b-256 6660a46aa9c8c4a806676d384036858f12720c975d47d4306dd8dfecfec24093

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7178bbc1b2ec40eaca599d13c092079bf529679bf0371c602edaa555e10b41c3
MD5 f9522cc3b520393fdae499710e70419a
BLAKE2b-256 9d1e8eb13233ac58edecdd58aa7de0d5b68fc04f7141891c1934036b0b34890a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 9427a399501818a7564f8c90eced1e9e20709ece36be701f394ada99890ea4b3
MD5 2f8a94bc887014171a868f49474d3ce4
BLAKE2b-256 ddf44ca224e4366eb9605c78e4005c7abe6af77cf81d9754e1d39251a27d0731

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 83320a09188e0e6c39088355d423aa9d056ad57a0b6c6381b300ec1a04ec3d16
MD5 fc17f91d08ca9ea57ddceb71ffb42fa0
BLAKE2b-256 acc20775e121b4e57de3b79eb140b4e1f0af5d9069f27e82e18d39e28ec0111f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 976d7a304b59ede34ca2921305b57356694f9e6879db323fd90a80f865d355a3
MD5 a4579e614357b9568e62c5a14a952084
BLAKE2b-256 c7fa7959acb8578faa8f386cf6add5a85685d147f2695756b0411c082cc36fcf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 2d44dc13229905ae96dd2ae2dd7cebf824ee92bc52e8cf03dcead37d926da019
MD5 5f6d2db2d707ad92540638c4d120274e
BLAKE2b-256 7a9d2f1149fa0ce3bd0d9b5aa40483f88a580d39db7685f3bd7fb2cffb87bf6d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 837328d14cde912af625d5f303ec29f7e28cdab588674897baafaf505341f2fc
MD5 63dc266832168fa4fe2bd9643e6f6ad8
BLAKE2b-256 75cc1a954e73611375ecf9ccb41521c4e1d46c4b05bb31832acdffca453cfe1b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b862c2b9d5ae38a68b92e215b93f98d4c5e9454fa36aae4450f61dd33ff48487
MD5 c57773cb3408dbc848c82c3ebb9132bf
BLAKE2b-256 0c1168fe788f176d86cfdec7c8efc70c7dd084d3f6f6a4f2e8c13af8fd09d398

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2023.6.3-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 bbb02fd4462f37060122e5acacec78e49c0fbb303c30dd49c7f493cf21fc5b27
MD5 83929c5c995620ea03cb30b45b6a21d8
BLAKE2b-256 70a6b5b6fbe09e7e3be38715877dbbd28b47d026bb90e2aa93e7d0cec54ddf59

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2023.6.3-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 0b71e63226e393b534105fcbdd8740410dc6b0854c2bfa39bbda6b0d40e59a54
MD5 a9cf3fc88d4ed5107edfd43ef42000a7
BLAKE2b-256 e58df4ab1cc6c34a664eab76a141d3184ffe58bc91f8e51f81609b11709ce03c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 61474f0b41fe1a80e8dfa70f70ea1e047387b7cd01c85ec88fa44f5d7561d787
MD5 3bfdadf7e7995a1c52ae8fc0b6a4cc0f
BLAKE2b-256 2102be48cfb817d4c34c3817d245cb3ba232166bfe061237021b601f71d40bf8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp36-cp36m-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 ee2d1a9a253b1729bb2de27d41f696ae893507c7db224436abe83ee25356f5c1
MD5 175298cb7e027f319ce7620cd22b0167
BLAKE2b-256 2aefaea4f21dd4c6fc086015ef508763b42a0f5a02eb5d8e89c84bc9b90df9dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp36-cp36m-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 d831c2f8ff278179705ca59f7e8524069c1a989e716a1874d6d1aab6119d91d1
MD5 366eb91c26a4021c0da142986a86b604
BLAKE2b-256 b0f9edd425bc07291257380b6805662123bceb684b027ea4b8878368da8192e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 c2b867c17a7a7ae44c43ebbeb1b5ff406b3e8d5b3e14662683e5e66e6cc868d3
MD5 4e2e6cd55c83a8ce74def8c3f5b46b54
BLAKE2b-256 18d1a4571e2050a8fe9e5f6c22e2504693bcf354132ba05333fbaf95846e528d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp36-cp36m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 8abbc5d54ea0ee80e37fef009e3cec5dafd722ed3c829126253d3e22f3846f1e
MD5 5552fd82a4eba6f9ee9e41a2e2523bb0
BLAKE2b-256 53210709782f2883c151eeda433116f363289967c60cb0cd9fdd1992d38d3e29

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b6192d5af2ccd2a38877bfef086d35e6659566a335b1492786ff254c168b1693
MD5 171a651e88475996f2dd9a866c5ac81a
BLAKE2b-256 14f3bfbc8ebdda009249feaf11e51d64b9f5703b570bc71e08132988f9a8d752

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 6343c6928282c1f6a9db41f5fd551662310e8774c0e5ebccb767002fcf663ca9
MD5 eb6fc7f926364b7665e0734b5f40a428
BLAKE2b-256 a66943403293ea75b7581355b44f2323f21af54473fc2932743b4290b539fc08

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 87b2a5bb5e78ee0ad1de71c664d6eb536dc3947a46a69182a90f4410f5e3f7dd
MD5 4b5da63f3b0ac0df683ea7674265b3ac
BLAKE2b-256 27ae65cb8bacd6c11ebb82b0d72261533cae9115c47fc72984a00b47f9439484

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 463b6a3ceb5ca952e66550a4532cef94c9a0c80dc156c4cc343041951aec1697
MD5 46c6d50c6c2e78a50c3dadb706cc52a5
BLAKE2b-256 9399efdfa7095440c7b29dbe34745b7ec8fbcc578ebf90a9bd40557cd4518824

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 742e19a90d9bb2f4a6cf2862b8b06dea5e09b96c9f2df1779e53432d7275331f
MD5 36554c9291643fa900a3c20a2d3b79dd
BLAKE2b-256 9bfdf2997b42d40b1efbfdf14f7d0955df148a3ba3bfbc881927cde95e1f7467

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 74390d18c75054947e4194019077e243c06fbb62e541d8817a0fa822ea310c14
MD5 c833a3b48ca7dcda87e7f41c168cb0ee
BLAKE2b-256 dd90100a9544f5ada8160e8b47a6c85e1a34dfd9aa8fef349c5e619808ba62be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.6.3-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0654bca0cdf28a5956c83839162692725159f4cda8d63e0911a2c0dc76166525
MD5 83c78fdec92a1214791a3f88fe907bb0
BLAKE2b-256 db63b6d7bd7a7c496d02b8ebed4bb2aa3e72f3a5e63e566a4012b976543e8514

See more details on using hashes here.

Supported by

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