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.1.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.10.3.tar.gz (394.7 kB view details)

Uploaded Source

Built Distributions

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

regex-2023.10.3-cp312-cp312-win_amd64.whl (269.0 kB view details)

Uploaded CPython 3.12Windows x86-64

regex-2023.10.3-cp312-cp312-win32.whl (258.0 kB view details)

Uploaded CPython 3.12Windows x86

regex-2023.10.3-cp312-cp312-musllinux_1_1_x86_64.whl (759.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.1+ x86-64

regex-2023.10.3-cp312-cp312-musllinux_1_1_s390x.whl (779.3 kB view details)

Uploaded CPython 3.12musllinux: musl 1.1+ s390x

regex-2023.10.3-cp312-cp312-musllinux_1_1_ppc64le.whl (775.1 kB view details)

Uploaded CPython 3.12musllinux: musl 1.1+ ppc64le

regex-2023.10.3-cp312-cp312-musllinux_1_1_i686.whl (742.5 kB view details)

Uploaded CPython 3.12musllinux: musl 1.1+ i686

regex-2023.10.3-cp312-cp312-musllinux_1_1_aarch64.whl (751.2 kB view details)

Uploaded CPython 3.12musllinux: musl 1.1+ ARM64

regex-2023.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (789.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

regex-2023.10.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (814.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ s390x

regex-2023.10.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (829.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ppc64le

regex-2023.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (786.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

regex-2023.10.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (777.0 kB view details)

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

regex-2023.10.3-cp312-cp312-macosx_11_0_arm64.whl (292.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

regex-2023.10.3-cp312-cp312-macosx_10_9_x86_64.whl (298.1 kB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

regex-2023.10.3-cp311-cp311-win_amd64.whl (269.6 kB view details)

Uploaded CPython 3.11Windows x86-64

regex-2023.10.3-cp311-cp311-win32.whl (257.6 kB view details)

Uploaded CPython 3.11Windows x86

regex-2023.10.3-cp311-cp311-musllinux_1_1_x86_64.whl (752.9 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

regex-2023.10.3-cp311-cp311-musllinux_1_1_s390x.whl (776.3 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ s390x

regex-2023.10.3-cp311-cp311-musllinux_1_1_ppc64le.whl (770.4 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ ppc64le

regex-2023.10.3-cp311-cp311-musllinux_1_1_i686.whl (738.4 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ i686

regex-2023.10.3-cp311-cp311-musllinux_1_1_aarch64.whl (749.9 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ ARM64

regex-2023.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (785.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

regex-2023.10.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (810.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ s390x

regex-2023.10.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (823.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ppc64le

regex-2023.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (783.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

regex-2023.10.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (772.8 kB view details)

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

regex-2023.10.3-cp311-cp311-macosx_11_0_arm64.whl (291.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

regex-2023.10.3-cp311-cp311-macosx_10_9_x86_64.whl (296.4 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

regex-2023.10.3-cp310-cp310-win_amd64.whl (269.6 kB view details)

Uploaded CPython 3.10Windows x86-64

regex-2023.10.3-cp310-cp310-win32.whl (257.6 kB view details)

Uploaded CPython 3.10Windows x86

regex-2023.10.3-cp310-cp310-musllinux_1_1_x86_64.whl (744.7 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

regex-2023.10.3-cp310-cp310-musllinux_1_1_s390x.whl (768.6 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ s390x

regex-2023.10.3-cp310-cp310-musllinux_1_1_ppc64le.whl (764.0 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ ppc64le

regex-2023.10.3-cp310-cp310-musllinux_1_1_i686.whl (731.4 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ i686

regex-2023.10.3-cp310-cp310-musllinux_1_1_aarch64.whl (743.9 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ ARM64

regex-2023.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (773.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

regex-2023.10.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (800.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ s390x

regex-2023.10.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (814.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ppc64le

regex-2023.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (774.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

regex-2023.10.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (690.3 kB view details)

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

regex-2023.10.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (763.0 kB view details)

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

regex-2023.10.3-cp310-cp310-macosx_11_0_arm64.whl (291.0 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

regex-2023.10.3-cp310-cp310-macosx_10_9_x86_64.whl (296.4 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

regex-2023.10.3-cp39-cp39-win_amd64.whl (269.6 kB view details)

Uploaded CPython 3.9Windows x86-64

regex-2023.10.3-cp39-cp39-win32.whl (257.7 kB view details)

Uploaded CPython 3.9Windows x86

regex-2023.10.3-cp39-cp39-musllinux_1_1_x86_64.whl (744.5 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

regex-2023.10.3-cp39-cp39-musllinux_1_1_s390x.whl (768.1 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ s390x

regex-2023.10.3-cp39-cp39-musllinux_1_1_ppc64le.whl (763.5 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ ppc64le

regex-2023.10.3-cp39-cp39-musllinux_1_1_i686.whl (730.7 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ i686

regex-2023.10.3-cp39-cp39-musllinux_1_1_aarch64.whl (743.6 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ ARM64

regex-2023.10.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (773.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

regex-2023.10.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (799.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ s390x

regex-2023.10.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (814.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ppc64le

regex-2023.10.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (773.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

regex-2023.10.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (689.8 kB view details)

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

regex-2023.10.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (762.5 kB view details)

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

regex-2023.10.3-cp39-cp39-macosx_11_0_arm64.whl (291.0 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

regex-2023.10.3-cp39-cp39-macosx_10_9_x86_64.whl (296.4 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

regex-2023.10.3-cp38-cp38-win_amd64.whl (269.6 kB view details)

Uploaded CPython 3.8Windows x86-64

regex-2023.10.3-cp38-cp38-win32.whl (257.7 kB view details)

Uploaded CPython 3.8Windows x86

regex-2023.10.3-cp38-cp38-musllinux_1_1_x86_64.whl (752.4 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

regex-2023.10.3-cp38-cp38-musllinux_1_1_s390x.whl (771.2 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ s390x

regex-2023.10.3-cp38-cp38-musllinux_1_1_ppc64le.whl (769.0 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ ppc64le

regex-2023.10.3-cp38-cp38-musllinux_1_1_i686.whl (738.1 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ i686

regex-2023.10.3-cp38-cp38-musllinux_1_1_aarch64.whl (748.5 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ ARM64

regex-2023.10.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (777.0 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

regex-2023.10.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (802.3 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ s390x

regex-2023.10.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (818.1 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ppc64le

regex-2023.10.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (776.8 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

regex-2023.10.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (695.7 kB view details)

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

regex-2023.10.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (764.4 kB view details)

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

regex-2023.10.3-cp38-cp38-macosx_11_0_arm64.whl (291.0 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

regex-2023.10.3-cp38-cp38-macosx_10_9_x86_64.whl (296.3 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

regex-2023.10.3-cp37-cp37m-win_amd64.whl (269.9 kB view details)

Uploaded CPython 3.7mWindows x86-64

regex-2023.10.3-cp37-cp37m-win32.whl (257.3 kB view details)

Uploaded CPython 3.7mWindows x86

regex-2023.10.3-cp37-cp37m-musllinux_1_1_x86_64.whl (733.5 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

regex-2023.10.3-cp37-cp37m-musllinux_1_1_s390x.whl (757.4 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ s390x

regex-2023.10.3-cp37-cp37m-musllinux_1_1_ppc64le.whl (755.8 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ ppc64le

regex-2023.10.3-cp37-cp37m-musllinux_1_1_i686.whl (724.2 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ i686

regex-2023.10.3-cp37-cp37m-musllinux_1_1_aarch64.whl (732.6 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ ARM64

regex-2023.10.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (761.6 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

regex-2023.10.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl (786.5 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ s390x

regex-2023.10.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (801.2 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ppc64le

regex-2023.10.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (760.3 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

regex-2023.10.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (681.4 kB view details)

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

regex-2023.10.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (749.0 kB view details)

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

regex-2023.10.3-cp37-cp37m-macosx_10_9_x86_64.whl (296.9 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: regex-2023.10.3.tar.gz
  • Upload date:
  • Size: 394.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for regex-2023.10.3.tar.gz
Algorithm Hash digest
SHA256 3fef4f844d2290ee0ba57addcec17eec9e3df73f10a2748485dfd6a3a188cc0f
MD5 45c26858fa0077afb37c997cbdc544a0
BLAKE2b-256 6b3849d968981b5ec35dbc0f742f8219acab179fc1567d9c22444152f950cf0d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2023.10.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 269.0 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for regex-2023.10.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 39cdf8d141d6d44e8d5a12a8569d5a227f645c87df4f92179bd06e2e2705e76b
MD5 93093347cc87702cfd5bef3796c18dad
BLAKE2b-256 d3106f2d5f8635d7714ad97ce6ade7a643358c4f3e45cde4ed12b7150734a8f3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2023.10.3-cp312-cp312-win32.whl
  • Upload date:
  • Size: 258.0 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for regex-2023.10.3-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 ad08a69728ff3c79866d729b095872afe1e0557251da4abb2c5faff15a91d19a
MD5 415fb98472c828fea344c76ee76c5861
BLAKE2b-256 034204e85a50bca5e45925668198f0c69699b4b5f6dbec47dd24773a0c0ed7ce

See more details on using hashes here.

File details

Details for the file regex-2023.10.3-cp312-cp312-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for regex-2023.10.3-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 5a8f91c64f390ecee09ff793319f30a0f32492e99f5dc1c72bc361f23ccd0a9a
MD5 2aa0142494176caadbfa166bd85eb871
BLAKE2b-256 0c507b1a37d25b5479f1ce8800195e83573a499156dfe957abfc2acdd8238f08

See more details on using hashes here.

File details

Details for the file regex-2023.10.3-cp312-cp312-musllinux_1_1_s390x.whl.

File metadata

File hashes

Hashes for regex-2023.10.3-cp312-cp312-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 b0c7d2f698e83f15228ba41c135501cfe7d5740181d5903e250e47f617eb4292
MD5 d8462fff427d1edbf50f8d680a73f19d
BLAKE2b-256 e8eed649947e9b74546bec3fb82ac71dba990abbe683754d1fc4062a5bd47838

See more details on using hashes here.

File details

Details for the file regex-2023.10.3-cp312-cp312-musllinux_1_1_ppc64le.whl.

File metadata

File hashes

Hashes for regex-2023.10.3-cp312-cp312-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 ba7cd6dc4d585ea544c1412019921570ebd8a597fabf475acc4528210d7c4a6f
MD5 32bc8c22e7b2eeaa0381ccd8db0a2fd9
BLAKE2b-256 39502bcb063dca682c18bf849ff901d41ee8cf8fe1a72131d652853173bf4916

See more details on using hashes here.

File details

Details for the file regex-2023.10.3-cp312-cp312-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for regex-2023.10.3-cp312-cp312-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 bce8814b076f0ce5766dc87d5a056b0e9437b8e0cd351b9a6c4e1134a7dfbda9
MD5 d234b8fdd9481e617696028891804dc8
BLAKE2b-256 702ecf011580fe8ce02081b3759fe5860b642c56228a290859923e9c849397d5

See more details on using hashes here.

File details

Details for the file regex-2023.10.3-cp312-cp312-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for regex-2023.10.3-cp312-cp312-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 bc72c231f5449d86d6c7d9cc7cd819b6eb30134bb770b8cfdc0765e48ef9c420
MD5 384e98363de4e7b29d1a50126d963393
BLAKE2b-256 b6d5d6e84e0bd284d51219acdc2b2d374a9c07ef5ca3ad6383fd94432635d651

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a9e908ef5889cda4de038892b9accc36d33d72fb3e12c747e2799a0e806ec841
MD5 6204e523aeda1803c3326dfed2c2bcc8
BLAKE2b-256 0a9ef5bac36b963741bf3abbcd719f7a7375b95486efcb27c1e2faaaead26c67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 c2169b2dcabf4e608416f7f9468737583ce5f0a6e8677c4efbf795ce81109d7c
MD5 329100c9a45f44cb3a3d5f1adfb67b98
BLAKE2b-256 299fe9899da293d57a2924d4149650284105020edf6aeaa578c20d81ba3bda16

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 7434a61b158be563c1362d9071358f8ab91b8d928728cd2882af060481244c9e
MD5 8a84f4ca07bd195932761eff6fdb94d0
BLAKE2b-256 090055a25fa71f0dccc133f6bbe2977bad2139324cfe9c651060d0d5fb3436e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4a992f702c9be9c72fa46f01ca6e18d131906a7180950958f766c2aa294d4b41
MD5 06c1559cba1956593f5ffdb73f37f100
BLAKE2b-256 38a4645e381727142609772a37c50d2f4b0316bbfa40a6e5b1ad27f8493767f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 12bd4bc2c632742c7ce20db48e0d99afdc05e03f0b4c1af90542e05b809a03d9
MD5 d858a8333cd36b397d14223d7a013d36
BLAKE2b-256 add6923cce27d7915c69a84a27dabc06b5585ca995714e3a29cf704a3ddaa266

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 be5e22bbb67924dea15039c3282fa4cc6cdfbe0cbbd1c0515f9223186fc2ec5f
MD5 2357241325808bd889acc9c5f5829a33
BLAKE2b-256 c6a9d543130248a2ceba74787518aea5d4a9f9373fb09fa860283fb0afa2718b

See more details on using hashes here.

File details

Details for the file regex-2023.10.3-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for regex-2023.10.3-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 bff507ae210371d4b1fe316d03433ac099f184d570a1a611e541923f78f05037
MD5 dad149f7e9757041860ebe0c4c5b75bd
BLAKE2b-256 59f6b719df3bc93004bb0c646d4fddd769a018ad2eff7f149f5c72770faedf7a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2023.10.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 269.6 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for regex-2023.10.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b6104f9a46bd8743e4f738afef69b153c4b8b592d35ae46db07fc28ae3d5fb7c
MD5 d5984ce21a58fa3c0cd54ee8917b4e59
BLAKE2b-256 b8ad3398312096118c4e62a5827664e52a04d5068e84d04142dd4a0da8a567ae

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2023.10.3-cp311-cp311-win32.whl
  • Upload date:
  • Size: 257.6 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for regex-2023.10.3-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 9145f092b5d1977ec8c0ab46e7b3381b2fd069957b9862a43bd383e5c01d18c2
MD5 c7c8abd9b32955482f0c635908038cdb
BLAKE2b-256 949ec0e6271d7c6a3542e9e0f0710c4a5de19f18f7728e9619d6aa78580d7844

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 0d47840dc05e0ba04fe2e26f15126de7c755496d5a8aae4a08bda4dd8d646c54
MD5 15263655866e797a56bf22f64bb8d174
BLAKE2b-256 a075a428ac7c0adb4fa470fc813c63cf0c9f5f795c3456593cf061a802188768

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp311-cp311-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 4023e2efc35a30e66e938de5aef42b520c20e7eda7bb5fb12c35e5d09a4c43f6
MD5 4bc4877aa227b771f8ae0168fefb1bba
BLAKE2b-256 dd35c0cb2cb9ae53c55348934d55adf1efbe72548340d88e9885dac8be4ec9d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp311-cp311-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 be6b7b8d42d3090b6c80793524fa66c57ad7ee3fe9722b258aec6d0672543fd0
MD5 db413f7f75c7b570cee831a38ac5f702
BLAKE2b-256 73aec595838c8bbc7d87ab7b4034c2676faca7271653a62d5f1f35f52ed14112

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 d8a993c0a0ffd5f2d3bda23d0cd75e7086736f8f8268de8a82fbc4bd0ac6791e
MD5 db2aaccf041f2817fc59beb10cac80bd
BLAKE2b-256 41ffe055e5d1d08a659e6a716ab2250efba07aeb58fa3c82ac4dc845edea2240

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 ebedc192abbc7fd13c5ee800e83a6df252bec691eb2c4bedc9f8b2e2903f5e2a
MD5 b530168fe307b4467592433ad51ff952
BLAKE2b-256 71441b089d021e9440c6f7a8c917d89d0bc174399add651d601648c0a221c165

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8d1f21af4c1539051049796a0f50aa342f9a27cde57318f2fc41ed50b0dbc4ac
MD5 f97b9c838c21dd6c6b6c2d741d948755
BLAKE2b-256 f2b8b1ec82fce93064a73ba67f2bb158ec9cac4a0e8f0b6942268ec963947329

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 c148bec483cc4b421562b4bcedb8e28a3b84fcc8f0aa4418e10898f3c2c0eb9b
MD5 32504054684952f49197587116ff2016
BLAKE2b-256 0769b9e3cd37f2babe93c63b2d6157a2c17320b3ba9a3ebd5156131dd7a869b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 5addc9d0209a9afca5fc070f93b726bf7003bd63a427f65ef797a931782e7edc
MD5 09ac4f0b883c8049a1f5b92e09484103
BLAKE2b-256 a321471fa60fba6169e5a766ccab488e79352179c2e33b40a1dc1d8da9e0b1ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4ef80829117a8061f974b2fda8ec799717242353bff55f8a29411794d635d964
MD5 2fee0c38428f3a1885a5a61470df57da
BLAKE2b-256 be5dbf0e6eca09839b82ac640adabad2560cc39a69bf802c6d2759e52c113f7e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0b9ac09853b2a3e0d0082104036579809679e7715671cfbf89d83c1cb2a30f58
MD5 580cd74c4971121c3304aa22fbb08bb8
BLAKE2b-256 6f17d2b5b4adf638752b8cc999c81eeb22fd7288b4561aea328ca04f5105d800

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c7964c2183c3e6cce3f497e3a9f49d182e969f2dc3aeeadfa18945ff7bdd7051
MD5 2c63fcb332852367a089f1ba6dde6895
BLAKE2b-256 4dd338b09813a32618acd437906c4d0194119e27139dbcd7486e69d58e375a27

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 90a79bce019c442604662d17bf69df99090e24cdc6ad95b18b6725c2988a490e
MD5 3176d9011af6fa3d91a2fbf9c63201d3
BLAKE2b-256 27b8fde0e99442b328d159bd0b2c0ff5401e1f1839e7a8d7339308b3915c7faa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2023.10.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 269.6 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for regex-2023.10.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c65a3b5330b54103e7d21cac3f6bf3900d46f6d50138d73343d9e5b2900b2353
MD5 7360a0b7146585aeaacfe207a37038ef
BLAKE2b-256 330391c9509b43154795fb848a4cf8cef5b37302b3b3ccf8a9763046ea528c6b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2023.10.3-cp310-cp310-win32.whl
  • Upload date:
  • Size: 257.6 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for regex-2023.10.3-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 36362386b813fa6c9146da6149a001b7bd063dabc4d49522a1f7aa65b725c7ec
MD5 8cd3b602df2493174c3ada31fdfd8dc6
BLAKE2b-256 2b8608f13773d36c660b0bf19103a33fac90e8529f4b2cdaf3f90820ee047f55

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f0a47efb1dbef13af9c9a54a94a0b814902e547b7f21acb29434504d18f36e3a
MD5 0320951e765cdeda1382eb5c0e8256a5
BLAKE2b-256 e2652a6fe79b0588b347c20d47dbab76bda5551e2b506b2f86d98fbe8232ea47

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp310-cp310-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 00ba3c9818e33f1fa974693fb55d24cdc8ebafcb2e4207680669d8f8d7cca79a
MD5 ea12570ffa3280432f5a671d2ea90288
BLAKE2b-256 a2f339b16779acf180e4ae20a2aaf387313800f3137fe44561a4e36f5800599b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp310-cp310-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 107ac60d1bfdc3edb53be75e2a52aff7481b92817cfdddd9b4519ccf0e54a6ff
MD5 e01a349a884211be221edb21cbea07b1
BLAKE2b-256 46f74447642811a77604b231ec178c5e6cbed7238d0d4fab1d20cb737fb8668b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 3ccf2716add72f80714b9a63899b67fa711b654be3fcdd34fa391d2d274ce767
MD5 a344cefb053aac892f7665cfec50a784
BLAKE2b-256 3541f04d9ba6978246f9e4dd79fe727e42ebd08d0e1901ef0600c8604ddfa584

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 d9c727bbcf0065cbb20f39d2b4f932f8fa1631c3e01fcedc979bd4f51fe051c5
MD5 419bee401e1ca335d389c262acdf3f38
BLAKE2b-256 f2028729f600542a37f6e9c17eaee8c53d65d66966fe67b4bdbadea80b0ae3b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c15ad0aee158a15e17e0495e1e18741573d04eb6da06d8b84af726cfc1ed02ee
MD5 df01c8bf6fe4c0e10bf561f2cdda1062
BLAKE2b-256 8f3e4b8b40eb3c80aeaf360f0361d956d129bb3d23b2a3ecbe3a04a8f3bdd6d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 9c6b4d23c04831e3ab61717a707a5d763b300213db49ca680edf8bf13ab5d91b
MD5 acb66040540b0a25feeac8a871ca8469
BLAKE2b-256 ceeb18fe76b9c161abb23d2c8e1e3eefd24849018e5e8be01202fb278b35e8f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 81dce2ddc9f6e8f543d94b05d56e70d03a0774d32f6cca53e978dc01e4fc75b8
MD5 8feb831ac0634fafcd85a90cd312ee86
BLAKE2b-256 ba88ecc84fcd7433ea3d4612a64e8a8f57d44dbb5a6591d359596df1682ca5c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4cd1bccf99d3ef1ab6ba835308ad85be040e6a11b0977ef7ea8c8005f01a3c29
MD5 fa148484b2cef5a60164b498e429fabb
BLAKE2b-256 5dbaa9b104f3e78d9a08c093c325419ddd4a03fc04e9f391f8cf580cdf21a0fe

See more details on using hashes here.

File details

Details for the file regex-2023.10.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.10.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 4a8bf76e3182797c6b1afa5b822d1d5802ff30284abe4599e1247be4fd6b03be
MD5 71f0e8664b7fda5841d39402c1670e86
BLAKE2b-256 bd79ced572f3316e2a1ddfec801d69c167ab3c2d5f76c12918b4f0de147b3180

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6239d4e2e0b52c8bd38c51b760cd870069f0bdf99700a62cd509d7a031749a55
MD5 4a4367df5792e732ed170cba145080d8
BLAKE2b-256 4db01e937cacdf8525d96ef9c0990d0e607c254a4f112ccc32c65da1f4550366

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a8f4e49fc3ce020f65411432183e6775f24e02dff617281094ba6ab079ef0915
MD5 9a3b7f5942ca8e3f168d5ebe123c49f6
BLAKE2b-256 d1f19c50c0e1e76234f05f876dd49df925dae49da7fb8cb152a429006c71f65b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4c34d4f73ea738223a094d8e0ffd6d2c1a1b4c175da34d6b0de3d8d69bee6bcc
MD5 7f834f6c09ae31449fca851098b08aec
BLAKE2b-256 2c6b4828fdbbabcb51986ddc1e7c618cf9dc8606f75c2f0cc381d3729cf31348

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2023.10.3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 269.6 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for regex-2023.10.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 adbccd17dcaff65704c856bd29951c58a1bd4b2b0f8ad6b826dbd543fe740988
MD5 c941653cc069faf2af99594fc33cd534
BLAKE2b-256 fc850d1038f068900896a8590d6d0da198b90d31f731a39166a432aa2b92249b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2023.10.3-cp39-cp39-win32.whl
  • Upload date:
  • Size: 257.7 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for regex-2023.10.3-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 3b2c3502603fab52d7619b882c25a6850b766ebd1b18de3df23b2f939360e1bd
MD5 6b50b3621bdeb7d1388e952380ffdf63
BLAKE2b-256 b0b05e991527d2002779746061d2c23291cf97c18b7527c4d3aecd181421126a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 fb02e4257376ae25c6dd95a5aec377f9b18c09be6ebdefa7ad209b9137b73d48
MD5 5c6562077f5ae1325fc8a80c968276f3
BLAKE2b-256 ed724399629b7ccb2c9380638f6cffd716d1f2aa02c840253cee41389ecee117

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp39-cp39-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 06e9abc0e4c9ab4779c74ad99c3fc10d3967d03114449acc2c2762ad4472b8ca
MD5 c7db2765f1149d637d2067a0f070c698
BLAKE2b-256 b9e30c41fddaa25801889ea26330e992da77c259ad399b9fdb6722add6ad3856

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp39-cp39-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 11175910f62b2b8c055f2b089e0fedd694fe2be3941b3e2633653bc51064c528
MD5 6ed51937a67a472c8feac6ec61b30a12
BLAKE2b-256 7b91daf3a5ecd6718700a5f3c2ca44fbe72b2c9659459e82673f071a07c61117

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 66e2fe786ef28da2b28e222c89502b2af984858091675044d93cb50e6f46d7af
MD5 95c8f78f3b496ebd95e3b566f99c2227
BLAKE2b-256 71107e4f345adf2f61665b41067490cf633cdaa771443b3ca2cd032ffb49abee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 994645a46c6a740ee8ce8df7911d4aee458d9b1bc5639bc968226763d07f00fa
MD5 561ab0b2d1187529a3b678bcfc1926bd
BLAKE2b-256 a268c0b9e7d6fa92e4b11f4f47ab31e4604875cdc413a23d751ba12585ddf8d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7ef1e014eed78ab650bef9a6a9cbe50b052c0aebe553fb2881e0453717573f52
MD5 5a6b7b05c8efb6ff0f67f402d6754efe
BLAKE2b-256 5471b85c050a8b6a552261e9deae23ba20099852cfbcc9819a628ce64f5a0db6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 6c56c3d47da04f921b73ff9415fbaa939f684d47293f071aa9cbb13c94afc17d
MD5 43e9f3713566642ed25226ad6dcf8c3f
BLAKE2b-256 8748d390943a73ee7aca0c8547dcc3380fd056884389ba7b0b95a7ea4de8cb27

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 1c0e8fae5b27caa34177bdfa5a960c46ff2f78ee2d45c6db15ae3f64ecadde14
MD5 30a9537c22111583f65621a50f5c08f1
BLAKE2b-256 f58b6ea337109965f7f2ef9ecc7828b1a0127106e6c1ab8c42dd631fbff7c783

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6ac965a998e1388e6ff2e9781f499ad1eaa41e962a40d11c7823c9952c77123e
MD5 ae18074fbc236f8d33ec08baf65da599
BLAKE2b-256 ed264d0153b41b5aed2530a1cf43bff05e971df5566da188f43cf8dc663d3d5d

See more details on using hashes here.

File details

Details for the file regex-2023.10.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.10.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 9c6d0ced3c06d0f183b73d3c5920727268d2201aa0fe6d55c60d68c792ff3588
MD5 7909f7237e622157247403fca4de1c51
BLAKE2b-256 b893e3aa510727e9747c8dc3314c7449befb7c055a4ab557590f2817bf43c9fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d29338556a59423d9ff7b6eb0cb89ead2b0875e08fe522f3e068b955c3e7b59b
MD5 8e3dc21004a63dbea62f62d5a4fbefe9
BLAKE2b-256 e8ed2d5446bb354ec39d399b55c79618aa625106fdc2e98b72d4082822474ce9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 69c0771ca5653c7d4b65203cbfc5e66db9375f1078689459fe196fe08b7b4930
MD5 a79a329c5bbb409d750ff56fca0f40f1
BLAKE2b-256 cd98999f0456bdb4124b3d0a7f1d8b6d50979536f5df9856e597580dd9a6d3ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2c54e23836650bdf2c18222c87f6f840d4943944146ca479858404fedeb9f9af
MD5 997e16cce0af00c5e304c49b21b62c16
BLAKE2b-256 af1497ba8f3eb4275b2fdeae73d79b74bd0b8995c6e22c7aa7e90a547c19cf90

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2023.10.3-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 269.6 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for regex-2023.10.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 c55853684fe08d4897c37dfc5faeff70607a5f1806c8be148f1695be4a63414b
MD5 65ffb414b043474ac968fc122122687d
BLAKE2b-256 7d38dcd673b81c2b4930bf39d970decff57ba48e0aee3028364897830ca9cc8e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2023.10.3-cp38-cp38-win32.whl
  • Upload date:
  • Size: 257.7 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for regex-2023.10.3-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 58837f9d221744d4c92d2cf7201c6acd19623b50c643b56992cbd2b745485d3d
MD5 dab4176f7eca79fabb03e728f4caa397
BLAKE2b-256 322288403f4d2398105965be7d43438a9c220ca8324c6da7047943e43bd8fd42

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 979c24cbefaf2420c4e377ecd1f165ea08cc3d1fbb44bdc51bccbbf7c66a2cb4
MD5 62e18a12b119a31277294cbada7a2887
BLAKE2b-256 5c521ffedb230daba57c34e71064486a7bd0720401235bf83254dab6905afdf1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp38-cp38-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 e77c90ab5997e85901da85131fd36acd0ed2221368199b65f0d11bca44549711
MD5 fa6c221a4e8014335a64beb97e5ec10c
BLAKE2b-256 2bcab6691a334caa523ef0f668ef00797b7d35f49d2a9bfa045b800d75de848d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp38-cp38-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 741ba2f511cc9626b7561a440f87d658aabb3d6b744a86a3c025f866b4d19e7f
MD5 124e2cff6d060a1651b4dffb30ebb42e
BLAKE2b-256 91e2344347e19232a7b3002f1242527d6607ca71c78498b4cbd2af8e8b585354

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 6f85739e80d13644b981a88f529d79c5bdf646b460ba190bffcaf6d57b2a9863
MD5 9fd99f65648ffb462ac5375fcbc641f3
BLAKE2b-256 38b6714244a989b6cec51109d1ba2ee89ae81f901e2f206b49716d4b87616523

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 cc3f1c053b73f20c7ad88b0d1d23be7e7b3901229ce89f5000a8399746a6e039
MD5 2e0964829f06ad62969f5e325fb3edc2
BLAKE2b-256 97b9b1d86292b8a42029e296ee5cc6a3c93c0ff1dcd8925b05ca693607d75c7e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dd829712de97753367153ed84f2de752b86cd1f7a88b55a3a775eb52eafe8a94
MD5 c4370023e6af0f86733d6aac3e28cddf
BLAKE2b-256 793367c4ed826f5227655225c3feaaecd15afb8453e827334ddae95a7fba07ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 ef71561f82a89af6cfcbee47f0fabfdb6e63788a9258e913955d89fdd96902ab
MD5 cd91014ae836af5139bd279e1b20afa6
BLAKE2b-256 fa8be4cd73294688ca30ef8ea46d597233dbb56350c8b04dfc3a462cc129f62f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 7979b834ec7a33aafae34a90aad9f914c41fd6eaa8474e66953f3f6f7cbd4368
MD5 dbf138ae7b127e9ba2df445d4bf96e05
BLAKE2b-256 947137e7de346b52251c5a1159daa18ce29fd9ce96620835af7c92bb91650770

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 82fcc1f1cc3ff1ab8a57ba619b149b907072e750815c5ba63e7aa2e1163384a4
MD5 614dd5d5b3ca1cd359b69e8300d294c9
BLAKE2b-256 9b8b5a65cb80a5ae3902f5cfff0f67e3e17841a204a56c1324c9c2ab98c4df1b

See more details on using hashes here.

File details

Details for the file regex-2023.10.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.10.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 706e7b739fdd17cb89e1fbf712d9dc21311fc2333f6d435eac2d4ee81985098c
MD5 1b46f4e9f1f3d7ad9c8eb83363b174a8
BLAKE2b-256 025204ea087f6080128423878661bedd48d39079c23faa14ad5d4a598c32cb60

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 00e871d83a45eee2f8688d7e6849609c2ca2a04a6d48fba3dff4deef35d14f07
MD5 cc47fa090d52f873179a3095fd9dee09
BLAKE2b-256 601c945c8ef0a6a0012d22d818592c129cc21d4ecffd56815d05fe58d4e2f901

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 91dc1d531f80c862441d7b66c4505cd6ea9d312f01fb2f4654f40c6fdf5cc37a
MD5 0da37e07fdfa84427bf768aab5cb8fe0
BLAKE2b-256 2c74ea77ab33736614442585bf8944feb95ffcf1cb9e8ef580aada6f1e5ba73a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9b98b7681a9437262947f41c7fac567c7e1f6eddd94b0483596d320092004533
MD5 6f32f067144fe2832eff06b86d1e708d
BLAKE2b-256 25622fb4e702f6c1afdc647c1313f54494a6647d3f8b9c76877b6cd82d280f04

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for regex-2023.10.3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 0f649fa32fe734c4abdfd4edbb8381c74abf5f34bc0b3271ce687b23729299ed
MD5 4357adb6175c571bbd61cdf880517c8d
BLAKE2b-256 845dbbeae673d7fd9b3846c5adf53257040cdeefe92a62900eb42be079a293f5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: regex-2023.10.3-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 257.3 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for regex-2023.10.3-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 ce615c92d90df8373d9e13acddd154152645c0dc060871abf6bd43809673d20a
MD5 fbd02bdd4c79b358c3e9fdcdcb75543d
BLAKE2b-256 7479192678117e88e454ce65d2cd99b1177478e986086bd586c756511c4ff4f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 7eece6fbd3eae4a92d7c748ae825cbc1ee41a89bb1c3db05b5578ed3cfcfd7cb
MD5 2101fa841d016886a91350b17151c3eb
BLAKE2b-256 ae91007ca3482b670efb677b7654fd12bbe9d1ebda2ee098795902829e1ff254

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp37-cp37m-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 39807cbcbe406efca2a233884e169d056c35aa7e9f343d4e78665246a332f597
MD5 ef318fbaa93065c621ad1aaff0aa2462
BLAKE2b-256 42ba596041299ff79037ac45a44c4c9b7256c0be61b8adcd299c263ecec9822c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp37-cp37m-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 f4f2ca6df64cbdd27f27b34f35adb640b5d2d77264228554e68deda54456eb11
MD5 85c463de81df4fc292a95e101a181969
BLAKE2b-256 e89f8f22792819e6bf5cf273b161babae14d0ed3bd3698fd8f2e222a4207866c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 16f8740eb6dbacc7113e3097b0a36065a02e37b47c936b551805d40340fb9971
MD5 8afd9aa6c876f93b8959138c89885c22
BLAKE2b-256 fd6c421e77fab803c5db12134601784dab52ec2741adfe64bc700edb37968e2e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 3367007ad1951fde612bf65b0dffc8fd681a4ab98ac86957d16491400d661302
MD5 4666a96cfd7e54fdd793b4c012b45689
BLAKE2b-256 fe9c01bf66e494cbf36aadf49483fd2197192a49664560d6e96f7188940c78f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b3ab05a182c7937fb374f7e946f04fb23a0c0699c0450e9fb02ef567412d2fa3
MD5 a15b4bdb7ab038b1fa6e42eaa368efbf
BLAKE2b-256 ec2d40500c0d370a0633dfc7da82cc15f34bb066af6a485c9e1bc29174c84578

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 9fd88f373cb71e6b59b7fa597e47e518282455c2734fd4306a05ca219a1991b0
MD5 403dc91299c751c78d6583514a992d68
BLAKE2b-256 32eabd36e51a753ca424877e57f94a4131444449a74d96dec654ce8dae1fbd28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 bfe50b61bab1b1ec260fa7cd91106fa9fece57e6beba05630afe27c71259c59b
MD5 dca745eb3055ab6f374ae26a727f1413
BLAKE2b-256 8ff5e7a9b06f5feb88e723295b31250254308d2c60cb47e6b2c1350b496660ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 76066d7ff61ba6bf3cb5efe2428fc82aac91802844c022d849a1f0f53820502d
MD5 a0800fb69ba7c9a0ca57765cf26b0148
BLAKE2b-256 d728e4c7b2efd70d97dea56b292cbab9f7f6e77072e71b7ff3e3e0d6e4efe0f6

See more details on using hashes here.

File details

Details for the file regex-2023.10.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.10.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 e54ddd0bb8fb626aa1f9ba7b36629564544954fff9669b15da3610c22b9a0991
MD5 0e87b0f0c659a6886c806b8a7c5bf400
BLAKE2b-256 710ae802ea7324e7e9bee17fd7ef65ad5e1363c3091a223dc93c3fc14ef4980f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 dac37cf08fcf2094159922edc7a2784cfcc5c70f8354469f79ed085f0328ebdf
MD5 ffb8a1df083e8130ba9cfd2fbfbe5b74
BLAKE2b-256 790b7566b0eb74b30fedc1f24445584781550f82630f3fa81c62acb6e6c6936d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for regex-2023.10.3-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4a3ee019a9befe84fa3e917a2dd378807e423d013377a884c1970a3c2792d293
MD5 5f2f72eb601de20a020222967872a6c9
BLAKE2b-256 31035bce12d28522befd162724eb88826f01b0e4c7bf2eeca0eda30f9b4a8db7

See more details on using hashes here.

Supported by

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