Comments (3)
issue released with 10.34 and introduced in commit bf15267
Author: Philip.Hazel [email protected]
Date: Mon Sep 9 17:00:19 2019 +0000
Optimize classes such as [Aa] to be a single caseless character.
ChangeLog | 6 +++-
src/pcre2_compile.c | 85 ++++++++++++++++++++++++++++++++++++++----------
testdata/testinput10 | 2 ++
testdata/testinput12 | 2 ++
testdata/testinput2 | 2 ++
testdata/testoutput10 | 7 ++++
testdata/testoutput12-16 | 7 ++++
testdata/testoutput12-32 | 7 ++++
testdata/testoutput2 | 14 ++++++++
9 files changed, 114 insertions(+), 18 deletions(-)
and only affects the matching when the last character in the class doesn't correspond to the correct case that is shown in the data, because is registered as literal (and not caseless)
$ printf "/[Aa]{2}/\naa\n" | pcre2test
PCRE2 version 10.39 2021-10-29
/[Aa]{2}/
aa
No match
from pcre2.
This was an optimization bug. [Aa] is turned into caseless 'A' but when it was last in a pattern, the "must have this character" optimization was not getting flagged as caseless. I have committed a small patch that fixes this. Thanks for the report and triage.
from pcre2.
For the record: the fix is commit fdd9479 (released in version 10.40)
from pcre2.
Related Issues (20)
- MSVC warnings with 10.43 HOT 1
- Allow unlimited subpattern name length HOT 4
- SunOS-5.11-SPARC - "src/pcre2.h", line 949: warning: no explicit type given HOT 5
- pcre2 makes software crash when GDS mitigation is forced for older CPUs HOT 21
- Invalid size 0 may lead to undefined behavior / infinite loop HOT 1
- Atomic group must not increase stack depth HOT 1
- Probable thread-safety issue in pcre2 10.43+ HOT 9
- No load/store-on-condition 2 facility HOT 4
- How can I get PCRE with version under 8.45? HOT 1
- Lift compile time default maximum pattern length HOT 1
- Support W3C xpath spec. weird newline behavior regarding to DOTALL and MULTILINE HOT 6
- Grapheme cluser (`\X`) selector capturing multiple character HOT 2
- Alternative branch should match shared prefix only once HOT 3
- Might be a problem found during the metamorphosis test HOT 4
- Test suite fails when targeting i686 HOT 7
- Signing of git objects HOT 3
- Quantifier `a{,7}` not supported HOT 2
- Coverity defect: Illegal address computation HOT 5
- PCRE2 10.44 Test 8 (Internal offsets and code size) fails on 32-bit platform HOT 1
- Long-term maintenance of PCRE2 HOT 10
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pcre2.