/[pcre]/code/trunk/testdata/testoutput1
ViewVC logotype

Diff of /code/trunk/testdata/testoutput1

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1271 by ph10, Wed Mar 6 16:50:38 2013 UTC revision 1296 by ph10, Tue Mar 19 16:29:12 2013 UTC
# Line 7770  No match Line 7770  No match
7770   1: (ab(cd)ef)   1: (ab(cd)ef)
7771   2: ef   2: ef
7772    
 /^(?!a(*SKIP)b)/  
     ac  
  0:  
   
7773  /^(?=a(*SKIP)b|ac)/  /^(?=a(*SKIP)b|ac)/
7774      ** Failers      ** Failers
7775  No match  No match
7776      ac      ac
7777  No match  No match
7778    
 /^(?=a(*THEN)b|ac)/  
     ac  
  0:  
   
7779  /^(?=a(*PRUNE)b)/  /^(?=a(*PRUNE)b)/
7780      ab      ab
7781   0:   0:
# Line 7796  No match Line 7788  No match
7788      ac      ac
7789   0:   0:
7790    
 /^(?(?!a(*SKIP)b))/  
     ac  
  0:  
   
7791  /(?>a\Kb)/  /(?>a\Kb)/
7792      ab      ab
7793   0: b   0: b
# Line 8169  No match Line 8157  No match
8157   1: AB   1: AB
8158   2: B   2: B
8159    
 /\A.*?(?:a|b(*THEN)c)/  
     ba  
  0: ba  
   
 /\A.*?(?:a|bc)/  
     ba  
  0: ba  
   
 /\A.*?(a|b(*THEN)c)/  
     ba  
  0: ba  
  1: a  
   
8160  /\A.*?(a|bc)/  /\A.*?(a|bc)/
8161      ba      ba
8162   0: ba   0: ba
8163   1: a   1: a
8164    
 /\A.*?(?:a|b(*THEN)c)++/  
     ba  
  0: ba  
   
8165  /\A.*?(?:a|bc)++/  /\A.*?(?:a|bc)++/
8166      ba      ba
8167   0: ba   0: ba
8168    
 /\A.*?(a|b(*THEN)c)++/  
     ba  
  0: ba  
  1: a  
   
8169  /\A.*?(a|bc)++/  /\A.*?(a|bc)++/
8170      ba      ba
8171   0: ba   0: ba
8172   1: a   1: a
8173    
 /\A.*?(?:a|b(*THEN)c|d)/  
     ba  
  0: ba  
   
8174  /\A.*?(?:a|bc|d)/  /\A.*?(?:a|bc|d)/
8175      ba      ba
8176   0: ba   0: ba
# Line 8719  No match Line 8681  No match
8681      aac      aac
8682   0: aac   0: aac
8683    
 /(?!a(*COMMIT)b)ac|cd/  
     ac  
  0: ac  
   
8684  /((?:a?)*)*c/  /((?:a?)*)*c/
8685    aac    aac
8686   0: aac   0: aac
# Line 8803  No match Line 8761  No match
8761      ac      ac
8762   0: ac   0: ac
8763    
8764  /(?:(a(*MARK:X)a+(*SKIP:X)b)){0}(?:(?1)|aac)/  /(?<=(*SKIP)ac)a/
8765      aac      aa
8766    No match
8767    
8768    /A(*MARK:A)A+(*SKIP:B)(B|Z) | AC/xK
8769        AAAC
8770     0: AC
8771    
8772    /a(*SKIP:m)x|ac(*:n)(*SKIP:n)d|ac/K
8773        acacd
8774     0: acd
8775    MK: n
8776    
8777    /A(*SKIP:m)x|A(*SKIP:n)x|AB/K
8778        AB
8779     0: AB
8780    
8781    /((*SKIP:r)d){0}a(*SKIP:m)x|ac(*:n)|ac/K
8782        acacd
8783     0: ac
8784    MK: n
8785    
8786    /-- Tests that try to figure out how Perl works. My hypothesis is that the
8787        first verb that is backtracked onto is the one that acts. This seems to be
8788        the case almost all the time, but there is one exception that is perhaps a
8789        bug. --/
8790    
8791    /-- This matches "aaaac"; each PRUNE advances one character until the subject
8792        no longer starts with 5 'a's. --/
8793    
8794    /aaaaa(*PRUNE)b|a+c/
8795        aaaaaac
8796     0: aaaac
8797    
8798    /-- Putting SKIP in front of PRUNE makes no difference, as it is never
8799    backtracked onto, whether or not it has a label. --/
8800    
8801    /aaaaa(*SKIP)(*PRUNE)b|a+c/
8802        aaaaaac
8803     0: aaaac
8804    
8805    /aaaaa(*SKIP:N)(*PRUNE)b|a+c/
8806        aaaaaac
8807     0: aaaac
8808    
8809    /aaaa(*:N)a(*SKIP:N)(*PRUNE)b|a+c/
8810        aaaaaac
8811     0: aaaac
8812    
8813    /-- Putting THEN in front makes no difference. */
8814    
8815    /aaaaa(*THEN)(*PRUNE)b|a+c/
8816        aaaaaac
8817     0: aaaac
8818    
8819    /-- However, putting COMMIT in front of the prune changes it to "no match". I
8820        think this is inconsistent and possibly a bug. For the moment, running this
8821        test is moved out of the Perl-compatible file. --/
8822    
8823    /aaaaa(*COMMIT)(*PRUNE)b|a+c/
8824    
8825    
8826    /---- OK, lets play the same game again using SKIP instead of PRUNE. ----/
8827    
8828    /-- This matches "ac" because SKIP forces the next match to start on the
8829        sixth "a". --/
8830    
8831    /aaaaa(*SKIP)b|a+c/
8832        aaaaaac
8833     0: ac
8834    
8835    /-- Putting PRUNE in front makes no difference. --/
8836    
8837    /aaaaa(*PRUNE)(*SKIP)b|a+c/
8838        aaaaaac
8839     0: ac
8840    
8841    /-- Putting THEN in front makes no difference. --/
8842    
8843    /aaaaa(*THEN)(*SKIP)b|a+c/
8844        aaaaaac
8845     0: ac
8846    
8847    /-- In this case, neither does COMMIT. This still matches "ac". --/
8848    
8849    /aaaaa(*COMMIT)(*SKIP)b|a+c/
8850        aaaaaac
8851     0: ac
8852    
8853    /-- This gives "no match", as expected. --/
8854    
8855    /aaaaa(*COMMIT)b|a+c/
8856        aaaaaac
8857    No match
8858    
8859    
8860    /------ Tests using THEN ------/
8861    
8862    /-- This matches "aaaaaac", as expected. --/
8863    
8864    /aaaaa(*THEN)b|a+c/
8865        aaaaaac
8866     0: aaaaaac
8867    
8868    /-- Putting SKIP in front makes no difference. --/
8869    
8870    /aaaaa(*SKIP)(*THEN)b|a+c/
8871        aaaaaac
8872     0: aaaaaac
8873    
8874    /-- Putting PRUNE in front makes no difference. --/
8875    
8876    /aaaaa(*PRUNE)(*THEN)b|a+c/
8877        aaaaaac
8878     0: aaaaaac
8879    
8880    /-- Putting COMMIT in front makes no difference. --/
8881    
8882    /aaaaa(*COMMIT)(*THEN)b|a+c/
8883        aaaaaac
8884     0: aaaaaac
8885    
8886    /-- End of "priority" tests --/
8887    
8888    /aaaaa(*:m)(*PRUNE:m)(*SKIP:m)m|a+/
8889        aaaaaa
8890     0: a
8891    
8892    /aaaaa(*:m)(*MARK:m)(*PRUNE)(*SKIP:m)m|a+/
8893        aaaaaa
8894     0: a
8895    
8896    /aaaaa(*:n)(*PRUNE:m)(*SKIP:m)m|a+/
8897        aaaaaa
8898     0: aaaa
8899    
8900    /aaaaa(*:n)(*MARK:m)(*PRUNE)(*SKIP:m)m|a+/
8901        aaaaaa
8902     0: a
8903    
8904    /a(*MARK:A)aa(*PRUNE:A)a(*SKIP:A)b|a+c/
8905        aaaac
8906   0: aac   0: aac
8907    
8908    /a(*MARK:A)aa(*MARK:A)a(*SKIP:A)b|a+c/
8909        aaaac
8910     0: ac
8911    
8912    /aaa(*PRUNE:A)a(*SKIP:A)b|a+c/
8913        aaaac
8914     0: aac
8915    
8916    /aaa(*MARK:A)a(*SKIP:A)b|a+c/
8917        aaaac
8918     0: ac
8919    
8920    /a(*:m)a(*COMMIT)(*SKIP:m)b|a+c/K
8921        aaaaaac
8922     0: ac
8923    
8924    /.?(a|b(*THEN)c)/
8925        ba
8926     0: ba
8927     1: a
8928    
8929    /(a(*COMMIT)b)c|abd/
8930        abc
8931     0: abc
8932     1: ab
8933        abd
8934    No match
8935    
8936    /(?=a(*COMMIT)b)abc|abd/
8937        abc
8938     0: abc
8939        abd
8940     0: abd
8941    
8942    /(?>a(*COMMIT)b)c|abd/
8943        abc
8944     0: abc
8945        abd
8946     0: abd
8947    
8948    /a(?=b(*COMMIT)c)[^d]|abd/
8949        abd
8950    No match
8951        abc
8952     0: ab
8953    
8954    /a(?=bc).|abd/
8955        abd
8956     0: abd
8957        abc
8958     0: ab
8959    
8960    /a(?>b(*COMMIT)c)d|abd/
8961        abceabd
8962    No match
8963    
8964    /a(?>bc)d|abd/
8965        abceabd
8966     0: abd
8967    
8968    /(?>a(*COMMIT)b)c|abd/
8969        abd
8970     0: abd
8971    
8972    /(?>a(*COMMIT)c)d|abd/
8973        abd
8974    No match
8975    
8976  /-- End of testinput1 --/  /-- End of testinput1 --/

Legend:
Removed from v.1271  
changed lines
  Added in v.1296

  ViewVC Help
Powered by ViewVC 1.1.5