[pcre-dev] [Bug 2683] Pcretest on empty string with /g

Αρχική Σελίδα
Delete this message
Συντάκτης: admin
Ημερομηνία:  
Προς: pcre-dev
Αντικείμενο: [pcre-dev] [Bug 2683] Pcretest on empty string with /g
https://bugs.exim.org/show_bug.cgi?id=2683

Giuseppe D'Angelo <dangelog@???> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dangelog@???


--- Comment #1 from Giuseppe D'Angelo <dangelog@???> ---
> Is pcretest not trying a last match attempt there an issue with pcretest or is this according to perl and not an issue?


This is Perl:

$ perl -mre=debug -E '$_ = "."; while (/a?a?/g) { say "match from $-[0] to
$+[0]" }'
Compiling REx "a?a?"
Final program:
   1: CURLY{0,1} (5)
   3:   EXACT <a> (0)
   5: CURLY{0,1} (9)
   7:   EXACT <a> (0)
   9: END (0)
minlen 0 
Matching REx "a?a?" against "."
   0 <> <.>                  |   0| 1:CURLY{0,1}(5)
                             |   0| EXACT <a> can match 0 times out of 1...
   0 <> <.>                  |   1|  5:CURLY{0,1}(9)
                             |   1|  EXACT <a> can match 0 times out of 1...
   0 <> <.>                  |   2|   9:END(0)
Match successful!
match from 0 to 0
Matching REx "a?a?" against "."
   0 <> <.>                  |   0| 1:CURLY{0,1}(5)
                             |   0| EXACT <a> can match 0 times out of 1...
   0 <> <.>                  |   1|  5:CURLY{0,1}(9)
                             |   1|  EXACT <a> can match 0 times out of 1...
   0 <> <.>                  |   2|   9:END(0)
Match possible, but length=0 is smaller than requested=1, failing!
                             |   1|  failed...
                             |   0| failed...
   1 <.> <>                  |   0| 1:CURLY{0,1}(5)
                             |   0| EXACT <a> can match 0 times out of 1...
   1 <.> <>                  |   1|  5:CURLY{0,1}(9)
                             |   1|  EXACT <a> can match 0 times out of 1...
   1 <.> <>                  |   2|   9:END(0)
Match successful!
match from 1 to 1
Matching REx "a?a?" against ""
   1 <.> <>                  |   0| 1:CURLY{0,1}(5)
                             |   0| EXACT <a> can match 0 times out of 1...
   1 <.> <>                  |   1|  5:CURLY{0,1}(9)
                             |   1|  EXACT <a> can match 0 times out of 1...
   1 <.> <>                  |   2|   9:END(0)
Match possible, but length=0 is smaller than requested=1, failing!
                             |   1|  failed...
                             |   0| failed...
Match failed
Freeing REx: "a?a?"


--
You are receiving this mail because:
You are on the CC list for the bug.