[Issue 1750] RegExp: lack of support for wchar, dchar; lack of lookingAt() method

d-bugmail at puremagic.com d-bugmail at puremagic.com
Mon Mar 12 01:45:36 PDT 2012


http://d.puremagic.com/issues/show_bug.cgi?id=1750


Dmitry Olshansky <dmitry.olsh at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


--- Comment #4 from Dmitry Olshansky <dmitry.olsh at gmail.com> 2012-03-12 01:45:41 PDT ---
Ok. Meant to do it for ages.
The second point rised in this bug report has no proof, and, in fact, is
invalid.
Truth of the matter is that looking through all of Java's regex documentation I
observe:
1. There is no such thing as regex on stream in Java, all objects it works on
are  3 variants of character buffers i.e. wrapped arrays and it's ilk.
2. lookingAt is indeed equivalent to appending '^' to a regex pattern, and as
far as performance concerns go both versions should use the same optimization,
namely "no search" optimization. And at least current std.regex does optimize
for '^' _somewhere_ at start e.g. sily things like "(^...)..." still get
optimized.
3. Due to implementation details of Java-style regex there is no way it can to
work directly on stream and keep all it's syntax features, even if tried to do
so, the problem common to all backtracking engines. And yes, in some cases it
has to walk the entire input to make sure it matched what it should match.

Marking as fixed as the first point of the report was solved long ago, the
second isinvalid as is. It also rises a good point on however that was
accounted for already.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list