1
1
mirror of https://github.com/mrabarnett/mrab-regex.git synced 2025-10-06 06:12:38 +02:00
Commit Graph

123 Commits

Author SHA1 Message Date
Matthew Barnett
db5c9c636e Git issue 565: Support the free-threaded build of CPython 3.13 2025-09-18 23:30:05 +01:00
Matthew Barnett
49e3881e9f Git PR 585: Fix AttributeError: 'AnyAll' object has no attribute '_key' 2025-09-01 22:18:04 +01:00
Matthew Barnett
183a653894 Git issue 584: AttributeError: 'AnyAll' object has no attribute 'positive' 2025-08-29 22:49:46 +01:00
Matthew Barnett
23ca191dd8 Git issue 575: Issues with ASCII/Unicode modifiers 2025-07-31 00:29:33 +01:00
Matthew Barnett
88fee8529b Updated main.yml and pyproject.toml. 2025-07-30 18:09:15 +01:00
Matthew Barnett
a4a6d9443b Git issue 580: Regression in v2025.7.31: \P{L} no longer matches in simple patterns 2025-07-30 16:41:17 +01:00
Matthew Barnett
becb0d456d Updated version and added changes to changelog.txt. 2025-07-30 00:20:42 +01:00
Matthew Barnett
33c577bd3b Git issue 572: Inline ASCII modifier doesn't seem to affect anything 2025-07-29 14:57:55 +01:00
Matthew Barnett
addaa7c484 Updated licence format in pyproject.toml. 2025-05-18 18:01:01 +01:00
Matthew Barnett
8225213902 Git issue 551: Infinite loop on V1 search
It's catastrophic backtracking due to the possibilities of full casefolding.

Replacing `[\s\S]` with `(?s:.)` can help, but a proper fix would be more difficult.
2025-02-10 20:55:45 +00:00
Matthew Barnett
26012d90d0 Updated pyproject.toml and setup.py according to PEP 517. 2024-11-07 16:52:17 +00:00
Matthew Barnett
930983aa68 Git issue 546: Partial match not working in some instances with non-greedy capture 2024-11-06 19:48:55 +00:00
Matthew Barnett
d3510fea2a Updated to Unicode 16.0.0. 2024-09-11 17:22:19 +01:00
Matthew Barnett
e8a8d28aa3 Git issue 539: Bug: Partial matching fails on a simple example 2024-07-24 22:29:17 +01:00
Matthew Barnett
8eabb4223e Git issue 530: hangs with fuzzy and optionals
It's not hanging, it'll finish eventually. It's just an example of catastrophic backtracking.

The error printed when Ctrl+C is pressed does show a bug, though, which is now fixed.
2024-05-15 16:53:10 +01:00
Matthew Barnett
be139ffc3a Updated for Python 3.13.
<time.h> now needs to be included explicitly because Python.h no longer includes it.
2024-05-10 01:57:53 +01:00
Matthew Barnett
2e3272be48 Git issue 527: VERBOSE/X flag breaks \N escapes 2024-04-28 20:11:20 +01:00
Matthew Barnett
5d65c8a727 Git issue 525: segfault when fuzzy matching empty list 2024-04-16 19:33:07 +01:00
Matthew Barnett
647c006a88 Further fixes in main.yml. 2023-12-24 01:45:31 +00:00
Matthew Barnett
cdcbf36aeb The escape function no longer escapes \x00. It's not necessary.
Inline flags can now be turned off and apply to what follows.

Added \R to match line endings.
2023-12-24 00:13:19 +00:00
Matthew Barnett
fba846ded3 Updated to Unicode 15.1.0. 2023-10-03 16:51:13 +01:00
Matthew Barnett
bc73ebb5d7 Git issue 508: Regex doesn't build using CPython main (3.13.0a0)
Removed usage of _PyBytes_Join and did a little tidying of the code that makes the result string.
2023-08-08 21:35:46 +01:00
Matthew Barnett
774dbfda42 # Git issue 498: Conditional negative lookahead inside positive lookahead fails to match
Conditional node needed an additional member that points to the true branch.
2023-06-03 18:03:41 +01:00
Matthew Barnett
9f03255c92 Removed semicolon after 'else' in 'munge_name'. 2023-05-03 18:27:06 +01:00
Matthew Barnett
797b57a4ac Fixed pyproject.toml and setup.py. 2023-05-02 17:42:18 +01:00
Matthew Barnett
78460dc755 Added pyproject.toml. 2023-05-02 14:54:39 +01:00
Matthew Barnett
15cbd1eaf3 Git issue 495: Running time for failing fullmatch increases rapidly with input length
Re-enabled modified repeat guards due to regression in speed caused by excessive backtracking.
2023-03-23 17:37:37 +00:00
Matthew Barnett
5954c51580 Git issue 494: Backtracking failure matching regex ^a?(a?)b?c\1$ against string abca
Disabled repeat guards. They keep causing issues, and it's just simpler to rely on timeouts.
2023-03-22 18:17:48 +00:00
Matthew Barnett
cc392629b2 Updated text for supported Unicode and Python versions. 2022-10-31 02:46:35 +00:00
Matthew Barnett
4ad1f04899 Updated to Unicode 15.0.0. 2022-09-13 01:47:01 +01:00
Matthew Barnett
416dd66ba9 Updated version. 2022-09-11 19:27:20 +01:00
Matthew Barnett
71be78a042 Git issue 477: \v for vertical spacing
Added \p{HorizSpace} (\p{H}) and \p{VertSpace} (\p{V}).
2022-08-17 20:26:24 +01:00
Matthew Barnett
01758302a6 Git issue 475: 2022.7.24 improperly released
The file https://pypi.org/pypi/regex/2022.7.24/json was missing references to most of the wheels, so this is a new release in the hope that it was just a glitch in GitHub Actions.
2022-07-25 14:55:33 +01:00
Matthew Barnett
ea5e640db3 Git issue 474: regex has no equivalent to re.Match.groups() for captures
Added 'allcaptures' and 'allspans' methods to match objects.

Fixed bug where compiling a pattern didn't always check for unused arguments.
2022-07-24 23:27:26 +01:00
Matthew Barnett
5c9b260d2f Git issue 473: Emoji classified as letter
The values for GC:Assigned and GC:LC were flipped.
2022-07-09 00:36:46 +01:00
Matthew Barnett
8a514bc62f Git issue 472: Revisit compilation flag to prevent adding a single explicitly compiled regex to the cache
Added 'cache_pattern' parameter to 'compile' function to improve use of the cache.
2022-06-02 23:20:58 +01:00
Matthew Barnett
74b8db0e81 Git issue 467: Scoped inline flags 'a', 'u' and 'L' affect global flags
Those flags scan now be scoped.
2022-04-24 19:02:34 +01:00
Matthew Barnett
138970bafb Git issue 457: Difference with re, when repl returns None
Make regex consistent with re by treating a replacement template of None as ''.

Also, now rejects invalid ASCII escapes like re module does.
2022-03-15 17:03:11 +00:00
Matthew Barnett
67ab717196 Git issue 453: Document last supported python2 version
Added a brief reference to the last version to support Python 2 in README.rst.

Git issue 456: RegexFlag exists in re, but not regex

    Updated the flags to use enum now that regex supports only Python 3.6+.
2022-03-02 01:18:38 +00:00
Matthew Barnett
667f171a0b Updated version for new release. 2022-01-18 18:18:44 +00:00
Matthew Barnett
dde2d98360 Git issue 443: 2021.11.9 source release is missing C headers
Updated version.
2021-11-09 22:16:38 +00:00
Matthew Barnett
1c30637ec7 Git issue 442: Fuzzy regex matching doesn't seem to test insertions correctly 2021-11-09 19:43:42 +00:00
Matthew Barnett
6ce0bda712 Git issue 435: Unmatched groups: sub vs subf
A similar fix also applies to expandf: unmatched groups should expand to an empty string.
2021-11-02 17:13:53 +00:00
Matthew Barnett
f2c5da72e3 Further changes for migration to Github. 2021-11-01 19:27:48 +00:00
Matthew Barnett
bf5e239c0e Git issue 433: Disagreement between fuzzy_counts and fuzzy_changes
Fuzzy changes were sometimes not removed when backtracking.
2021-10-23 00:10:40 +01:00
Matthew Barnett
26d37df1c3 Removed Apple Silicon build from .travis.yml because it's not currently codesigned by Travis CI. 2021-10-21 02:21:13 +01:00
Matthew Barnett
d81009be69 Git issue 428: match hangs on the following example - possible infinite loop?
Fixed miscalculation of total error count when there's more than one fuzzy term.
2021-10-08 23:56:28 +01:00
Matthew Barnett
25638c20a4 Git issue 427: Possible bug with BESTMATCH 2021-09-30 23:10:38 +01:00
Matthew Barnett
3dd42455df Updated to Unicode 14.0.0. 2021-09-24 21:07:41 +01:00
Matthew Barnett
e3b477cc93 Git issue 421: 2021.8.27 results in "Fatal Python error: Segmentation fault"
Fixed problems with use of fast searching tables in opposite direction.
2021-08-27 19:39:30 +01:00