version 1.1.1.4, 2013/07/22 08:25:57
|
version 1.1.1.5, 2014/06/15 19:46:05
|
Line 7
|
Line 7
|
|
|
NOTE: This is a non-UTF set of tests. When UTF support is needed, use |
NOTE: This is a non-UTF set of tests. When UTF support is needed, use |
test 5, and if Unicode Property Support is needed, use test 7. --/ |
test 5, and if Unicode Property Support is needed, use test 7. --/ |
|
|
|
< forbid 8W |
|
|
/(a)b|/I |
/(a)b|/I |
Capturing subpattern count = 1 |
Capturing subpattern count = 1 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 228 No options
|
Line 231 No options
|
No first char |
No first char |
No need char |
No need char |
Subject length lower bound = 1 |
Subject length lower bound = 1 |
Starting byte set: \x09 \x0a \x0c \x0d \x20 a b | Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 a b |
|
|
/(ab\2)/ |
/(ab\2)/ |
Failed: reference to non-existent subpattern at offset 6 |
Failed: reference to non-existent subpattern at offset 6 |
Line 498 No need char
|
Line 501 No need char
|
|
|
/(?s).*/I |
/(?s).*/I |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
|
May match empty string |
Options: anchored dotall |
Options: anchored dotall |
No first char |
No first char |
No need char |
No need char |
Line 545 Failed: conditional group contains more than two branc
|
Line 549 Failed: conditional group contains more than two branc
|
Failed: conditional group contains more than two branches at offset 12 |
Failed: conditional group contains more than two branches at offset 12 |
|
|
/(?(1a)/ |
/(?(1a)/ |
Failed: missing ) at offset 6 | Failed: malformed number or name after (?( at offset 4 |
|
|
/(?(1a))/ |
/(?(1a))/ |
Failed: reference to non-existent subpattern at offset 6 | Failed: malformed number or name after (?( at offset 4 |
|
|
/(?(?i))/ |
/(?(?i))/ |
Failed: assertion expected after (?( at offset 3 |
Failed: assertion expected after (?( at offset 3 |
Line 762 No match
|
Line 766 No match
|
/(?<=ab(?i)x|y|z)/I |
/(?<=ab(?i)x|y|z)/I |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
Max lookbehind = 3 |
Max lookbehind = 3 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 769 No need char
|
Line 774 No need char
|
/(?>.*)(?<=(abcd)|(xyz))/I |
/(?>.*)(?<=(abcd)|(xyz))/I |
Capturing subpattern count = 2 |
Capturing subpattern count = 2 |
Max lookbehind = 4 |
Max lookbehind = 4 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 1377 Need char = 'c'
|
Line 1383 Need char = 'c'
|
|
|
/a*/I |
/a*/I |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 1395 Need char = 'a'
|
Line 1402 Need char = 'a'
|
|
|
/a{0,3}/I |
/a{0,3}/I |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 1594 Need char = 'e'
|
Line 1602 Need char = 'e'
|
|
|
/a?b?/I |
/a?b?/I |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 1612 No match
|
Line 1621 No match
|
|
|
/|-/I |
/|-/I |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 2625 Need char = '-'
|
Line 2635 Need char = '-'
|
End |
End |
------------------------------------------------------------------ |
------------------------------------------------------------------ |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
|
May match empty string |
Options: extended |
Options: extended |
No first char |
No first char |
No need char |
No need char |
Line 2644 No need char
|
Line 2655 No need char
|
/[\s]/DZ |
/[\s]/DZ |
------------------------------------------------------------------ |
------------------------------------------------------------------ |
Bra |
Bra |
[\x09\x0a\x0c\x0d ] | [\x09-\x0d ] |
Ket |
Ket |
End |
End |
------------------------------------------------------------------ |
------------------------------------------------------------------ |
Line 2656 No need char
|
Line 2667 No need char
|
/[\S]/DZ |
/[\S]/DZ |
------------------------------------------------------------------ |
------------------------------------------------------------------ |
Bra |
Bra |
[\x00-\x08\x0b\x0e-\x1f!-\xff] (neg) | [\x00-\x08\x0e-\x1f!-\xff] (neg) |
Ket |
Ket |
End |
End |
------------------------------------------------------------------ |
------------------------------------------------------------------ |
Line 2767 Need char = '0'
|
Line 2778 Need char = '0'
|
End |
End |
------------------------------------------------------------------ |
------------------------------------------------------------------ |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 2866 No match
|
Line 2878 No match
|
End |
End |
------------------------------------------------------------------ |
------------------------------------------------------------------ |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 2882 No options
|
Line 2895 No options
|
First char = 'x' |
First char = 'x' |
No need char |
No need char |
|
|
/x{1,3}+/DZ | /x{1,3}+/BZO |
------------------------------------------------------------------ |
------------------------------------------------------------------ |
Bra |
Bra |
Once |
|
x |
x |
x{0,2} | x{0,2}+ |
Ket |
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/x{1,3}+/BZOi |
|
------------------------------------------------------------------ |
|
Bra |
|
/i x |
|
/i x{0,2}+ |
Ket |
Ket |
End |
End |
------------------------------------------------------------------ |
------------------------------------------------------------------ |
Capturing subpattern count = 0 |
|
No options |
|
First char = 'x' |
|
No need char |
|
|
|
|
/[^x]{1,3}+/BZO |
|
------------------------------------------------------------------ |
|
Bra |
|
[^x] |
|
[^x]{0,2}+ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/[^x]{1,3}+/BZOi |
|
------------------------------------------------------------------ |
|
Bra |
|
/i [^x] |
|
/i [^x]{0,2}+ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
/(x)*+/DZ |
/(x)*+/DZ |
------------------------------------------------------------------ |
------------------------------------------------------------------ |
Bra |
Bra |
Line 2908 No need char
|
Line 2942 No need char
|
End |
End |
------------------------------------------------------------------ |
------------------------------------------------------------------ |
Capturing subpattern count = 1 |
Capturing subpattern count = 1 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
|
|
/^(\w++|\s++)*$/I |
/^(\w++|\s++)*$/I |
Capturing subpattern count = 1 |
Capturing subpattern count = 1 |
|
May match empty string |
Options: anchored |
Options: anchored |
No first char |
No first char |
No need char |
No need char |
Line 3075 Need char = 'b'
|
Line 3111 Need char = 'b'
|
[bc]+ |
[bc]+ |
Ket |
Ket |
CBra 5 |
CBra 5 |
\w* | \w*+ |
Ket |
Ket |
Ket |
Ket |
Ket |
Ket |
Line 3154 Failed: missing terminating ] for character class at o
|
Line 3190 Failed: missing terminating ] for character class at o
|
/[\s]/IDZ |
/[\s]/IDZ |
------------------------------------------------------------------ |
------------------------------------------------------------------ |
Bra |
Bra |
[\x09\x0a\x0c\x0d ] | [\x09-\x0d ] |
Ket |
Ket |
End |
End |
------------------------------------------------------------------ |
------------------------------------------------------------------ |
Line 3289 Need char = 'b'
|
Line 3325 Need char = 'b'
|
|
|
/(?=a).*/I |
/(?=a).*/I |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
|
May match empty string |
No options |
No options |
First char = 'a' |
First char = 'a' |
No need char |
No need char |
Line 3307 Need char = 'z' (caseless)
|
Line 3344 Need char = 'z' (caseless)
|
|
|
/(?=a)(?=b)/I |
/(?=a)(?=b)/I |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
|
May match empty string |
No options |
No options |
First char = 'a' |
First char = 'a' |
No need char |
No need char |
Line 3373 Need char = 'a'
|
Line 3411 Need char = 'a'
|
|
|
/(a)*/I |
/(a)*/I |
Capturing subpattern count = 1 |
Capturing subpattern count = 1 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 3601 No match
|
Line 3640 No match
|
|
|
/(?C0)(abc(?C1))*/I |
/(?C0)(abc(?C1))*/I |
Capturing subpattern count = 1 |
Capturing subpattern count = 1 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 3634 No need char
|
Line 3674 No need char
|
|
|
/(\d{3}(?C))*/I |
/(\d{3}(?C))*/I |
Capturing subpattern count = 1 |
Capturing subpattern count = 1 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 3770 Need char = 'b'
|
Line 3811 Need char = 'b'
|
--->abbbbbccc |
--->abbbbbccc |
1 ^ ^ |
1 ^ ^ |
Callout data = 1 |
Callout data = 1 |
1 ^ ^ |
|
Callout data = 1 |
|
1 ^ ^ |
|
Callout data = 1 |
|
1 ^ ^ |
|
Callout data = 1 |
|
1 ^ ^ |
|
Callout data = 1 |
|
1 ^ ^ |
|
Callout data = 1 |
|
1 ^ ^ |
|
Callout data = 1 |
|
1 ^ ^ |
|
Callout data = 1 |
|
No match |
No match |
|
|
/a(b+?)(c*?)(?C1)/I |
/a(b+?)(c*?)(?C1)/I |
Line 3880 Failed: recursive call could loop indefinitely at offs
|
Line 3907 Failed: recursive call could loop indefinitely at offs
|
|
|
/^([^()]|\((?1)*\))*$/I |
/^([^()]|\((?1)*\))*$/I |
Capturing subpattern count = 1 |
Capturing subpattern count = 1 |
|
May match empty string |
Options: anchored |
Options: anchored |
No first char |
No first char |
No need char |
No need char |
Line 4159 Named capturing subpatterns:
|
Line 4187 Named capturing subpatterns:
|
one 1 |
one 1 |
three 3 |
three 3 |
two 2 |
two 2 |
|
May match empty string |
Options: anchored caseless |
Options: anchored caseless |
No first char |
No first char |
No need char |
No need char |
Line 4258 Need char = 'z'
|
Line 4287 Need char = 'z'
|
|
|
/(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is |
/(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is |
Capturing subpattern count = 31 |
Capturing subpattern count = 31 |
|
May match empty string |
Options: anchored dotall |
Options: anchored dotall |
No first char |
No first char |
No need char |
No need char |
Line 4265 No need char
|
Line 4295 No need char
|
/(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is |
/(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is |
Capturing subpattern count = 31 |
Capturing subpattern count = 31 |
Max back reference = 31 |
Max back reference = 31 |
|
May match empty string |
Options: dotall |
Options: dotall |
No first char |
No first char |
No need char |
No need char |
Line 4272 No need char
|
Line 4303 No need char
|
/(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is |
/(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is |
Capturing subpattern count = 32 |
Capturing subpattern count = 32 |
Max back reference = 32 |
Max back reference = 32 |
|
May match empty string |
Options: dotall |
Options: dotall |
No first char |
No first char |
No need char |
No need char |
Line 4423 Capturing subpattern count = 2
|
Line 4455 Capturing subpattern count = 2
|
Named capturing subpatterns: |
Named capturing subpatterns: |
Tes 1 |
Tes 1 |
Test 2 |
Test 2 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 4441 Capturing subpattern count = 2
|
Line 4474 Capturing subpattern count = 2
|
Named capturing subpatterns: |
Named capturing subpatterns: |
Tes 2 |
Tes 2 |
Test 1 |
Test 1 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 4518 Need char = ']'
|
Line 4552 Need char = ']'
|
End |
End |
------------------------------------------------------------------ |
------------------------------------------------------------------ |
Capturing subpattern count = 2 |
Capturing subpattern count = 2 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 4538 No need char
|
Line 4573 No need char
|
End |
End |
------------------------------------------------------------------ |
------------------------------------------------------------------ |
Capturing subpattern count = 2 |
Capturing subpattern count = 2 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 4569 No need char
|
Line 4605 No need char
|
End |
End |
------------------------------------------------------------------ |
------------------------------------------------------------------ |
Capturing subpattern count = 2 |
Capturing subpattern count = 2 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 4576 No need char
|
Line 4613 No need char
|
/[ab]{1}+/DZ |
/[ab]{1}+/DZ |
------------------------------------------------------------------ |
------------------------------------------------------------------ |
Bra |
Bra |
Once | [ab]{1,1}+ |
[ab]{1,1} | |
Ket |
Ket |
Ket |
|
End |
End |
------------------------------------------------------------------ |
------------------------------------------------------------------ |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
Line 5290 No match
|
Line 5325 No match
|
Callout 255 0 21 |
Callout 255 0 21 |
CBra 1 |
CBra 1 |
Callout 255 1 9 |
Callout 255 1 9 |
[ab]{1,4} | [ab]{1,4}+ |
Callout 255 10 1 |
Callout 255 10 1 |
c |
c |
Callout 255 11 0 |
Callout 255 11 0 |
Line 5303 No match
|
Line 5338 No match
|
Ket |
Ket |
CBra 1 |
CBra 1 |
Callout 255 1 9 |
Callout 255 1 9 |
[ab]{1,4} | [ab]{1,4}+ |
Callout 255 10 1 |
Callout 255 10 1 |
c |
c |
Callout 255 11 0 |
Callout 255 11 0 |
Line 5316 No match
|
Line 5351 No match
|
Ket |
Ket |
CBra 1 |
CBra 1 |
Callout 255 1 9 |
Callout 255 1 9 |
[ab]{1,4} | [ab]{1,4}+ |
Callout 255 10 1 |
Callout 255 10 1 |
c |
c |
Callout 255 11 0 |
Callout 255 11 0 |
Line 5329 No match
|
Line 5364 No match
|
Ket |
Ket |
CBra 1 |
CBra 1 |
Callout 255 1 9 |
Callout 255 1 9 |
[ab]{1,4} | [ab]{1,4}+ |
Callout 255 10 1 |
Callout 255 10 1 |
c |
c |
Callout 255 11 0 |
Callout 255 11 0 |
Line 5343 No match
|
Line 5378 No match
|
Braminzero |
Braminzero |
CBra 1 |
CBra 1 |
Callout 255 1 9 |
Callout 255 1 9 |
[ab]{1,4} | [ab]{1,4}+ |
Callout 255 10 1 |
Callout 255 10 1 |
c |
c |
Callout 255 11 0 |
Callout 255 11 0 |
Line 5397 Need char = '3'
|
Line 5432 Need char = '3'
|
/\b.*/I |
/\b.*/I |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
Max lookbehind = 1 |
Max lookbehind = 1 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 5406 No need char
|
Line 5442 No need char
|
/\b.*/Is |
/\b.*/Is |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
Max lookbehind = 1 |
Max lookbehind = 1 |
|
May match empty string |
Options: dotall |
Options: dotall |
No first char |
No first char |
No need char |
No need char |
Line 5414 No need char
|
Line 5451 No need char
|
|
|
/(?!.bcd).*/I |
/(?!.bcd).*/I |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 6002 Matched, but too many substrings
|
Line 6040 Matched, but too many substrings
|
|
|
/[^()]*(?:\((?R)\)[^()]*)*/I |
/[^()]*(?:\((?R)\)[^()]*)*/I |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 6014 No need char
|
Line 6053 No need char
|
|
|
/[^()]*(?:\((?>(?R))\)[^()]*)*/I |
/[^()]*(?:\((?>(?R))\)[^()]*)*/I |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 6024 No need char
|
Line 6064 No need char
|
|
|
/[^()]*(?:\((?R)\))*[^()]*/I |
/[^()]*(?:\((?R)\))*[^()]*/I |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 6034 No need char
|
Line 6075 No need char
|
|
|
/(?:\((?R)\))*[^()]*/I |
/(?:\((?R)\))*[^()]*/I |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 6046 No need char
|
Line 6088 No need char
|
|
|
/(?:\((?R)\))|[^()]*/I |
/(?:\((?R)\))|[^()]*/I |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 6095 no parentheses with name "Z"
|
Line 6138 no parentheses with name "Z"
|
2: a1 |
2: a1 |
copy substring Z failed -7 |
copy substring Z failed -7 |
C a1 (2) A |
C a1 (2) A |
|
|
|
/(?|(?<a>)(?<b>)(?<a>)|(?<a>)(?<b>)(?<a>))/IJ |
|
Capturing subpattern count = 3 |
|
Named capturing subpatterns: |
|
a 1 |
|
a 3 |
|
b 2 |
|
May match empty string |
|
Options: dupnames |
|
No first char |
|
No need char |
|
|
/^(?P<A>a)(?P<A>b)/IJ |
/^(?P<A>a)(?P<A>b)/IJ |
Capturing subpattern count = 2 |
Capturing subpattern count = 2 |
Line 6305 Need char = 'X'
|
Line 6359 Need char = 'X'
|
1: X |
1: X |
|
|
/(?:(?(2y)a|b)(X))+/I |
/(?:(?(2y)a|b)(X))+/I |
Failed: reference to non-existent subpattern at offset 9 | Failed: malformed number or name after (?( at offset 7 |
|
|
/(?:(?(ZA)a|b)(?P<ZZ>X))+/I |
/(?:(?(ZA)a|b)(?P<ZZ>X))+/I |
Failed: reference to non-existent subpattern at offset 9 |
Failed: reference to non-existent subpattern at offset 9 |
Line 6377 No options
|
Line 6431 No options
|
No first char |
No first char |
Need char = ',' |
Need char = ',' |
Subject length lower bound = 1 |
Subject length lower bound = 1 |
Starting byte set: \x09 \x0a \x0c \x0d \x20 , | Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 , |
\x0b,\x0b |
\x0b,\x0b |
0: , | 0: \x0b,\x0b |
\x0c,\x0d |
\x0c,\x0d |
0: \x0c,\x0d |
0: \x0c,\x0d |
|
|
Line 6488 No match
|
Line 6542 No match
|
No match |
No match |
|
|
/^abc/Im<bad> |
/^abc/Im<bad> |
Unknown newline type at: <bad> | Unknown modifier at: <bad> |
|
|
|
|
/abc/I |
/abc/I |
Line 6497 No options
|
Line 6551 No options
|
First char = 'a' |
First char = 'a' |
Need char = 'c' |
Need char = 'c' |
xyz\rabc\<bad> |
xyz\rabc\<bad> |
Unknown newline type at: <bad> | Unknown escape sequence at: <bad> |
abc |
abc |
0: abc |
0: abc |
|
|
/.*/I<lf> |
/.*/I<lf> |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
|
May match empty string |
Options: |
Options: |
Forced newline sequence: LF |
Forced newline sequence: LF |
First char at start or follows newline |
First char at start or follows newline |
Line 6544 Need char = 'f'
|
Line 6599 Need char = 'f'
|
|
|
+((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I |
+((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I |
Capturing subpattern count = 1 |
Capturing subpattern count = 1 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 7467 Matched, but too many substrings
|
Line 7523 Matched, but too many substrings
|
/a*[^a]/BZ |
/a*[^a]/BZ |
------------------------------------------------------------------ |
------------------------------------------------------------------ |
Bra |
Bra |
a* | a*+ |
[^a] |
[^a] |
Ket |
Ket |
End |
End |
Line 7609 No match
|
Line 7665 No match
|
------------------------------------------------------------------ |
------------------------------------------------------------------ |
Bra |
Bra |
^ |
^ |
[a-z]+ | [a-z]++ |
Ket |
Ket |
End |
End |
------------------------------------------------------------------ |
------------------------------------------------------------------ |
Line 7650 No match
|
Line 7706 No match
|
^ |
^ |
CBra 1 |
CBra 1 |
Cond |
Cond |
2 Cond nref | 2 Cond ref |
y |
y |
Ket |
Ket |
[()] |
[()] |
Line 7710 Named capturing subpatterns:
|
Line 7766 Named capturing subpatterns:
|
one 1 |
one 1 |
three 3 |
three 3 |
two 2 |
two 2 |
|
May match empty string |
Options: anchored caseless |
Options: anchored caseless |
No first char |
No first char |
No need char |
No need char |
Line 7809 Failed: reference to non-existent subpattern at offset
|
Line 7866 Failed: reference to non-existent subpattern at offset
|
1: abcabc1Xabc2XabcX |
1: abcabc1Xabc2XabcX |
2: abcabc1Xabc2XabcX |
2: abcabc1Xabc2XabcX |
|
|
/(?<A> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x | /(?<A> (?'B' abc (?(R) (?(R&C)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x |
Failed: reference to non-existent subpattern at offset 29 |
Failed: reference to non-existent subpattern at offset 29 |
|
|
/(?<1> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x |
|
abcabc1Xabc2XabcXabcabc |
|
0: abcabc1Xabc2XabcX |
|
1: abcabc1Xabc2XabcX |
|
2: abcabc1Xabc2XabcX |
|
|
|
/^(?(DEFINE) abc | xyz ) /x |
/^(?(DEFINE) abc | xyz ) /x |
Failed: DEFINE group contains more than one branch at offset 22 |
Failed: DEFINE group contains more than one branch at offset 22 |
|
|
Line 8041 Failed: a numbered reference must not be zero at offse
|
Line 8092 Failed: a numbered reference must not be zero at offse
|
/^(a)\g{3/ |
/^(a)\g{3/ |
Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8 |
Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8 |
|
|
/^(a)\g{4a}/ | /^(a)\g{aa}/ |
Failed: reference to non-existent subpattern at offset 9 |
Failed: reference to non-existent subpattern at offset 9 |
|
|
/^a.b/<lf> |
/^a.b/<lf> |
Line 8546 No match
|
Line 8597 No match
|
\d |
\d |
\v++ |
\v++ |
\w |
\w |
\v+ | \v++ |
\S |
\S |
\v++ |
\v++ |
\V |
\V |
Line 8644 No match
|
Line 8695 No match
|
+6 ^ ^ (*FAIL) |
+6 ^ ^ (*FAIL) |
+6 ^ ^ (*FAIL) |
+6 ^ ^ (*FAIL) |
+6 ^ ^ (*FAIL) |
+6 ^ ^ (*FAIL) |
+4 ^ ^ c+ |
|
+2 ^ ^ b? |
|
+4 ^ ^ c+ |
|
+2 ^^ b? |
|
+4 ^^ c+ |
|
+0 ^ a+ |
+0 ^ a+ |
+2 ^ ^ b? |
+2 ^ ^ b? |
+4 ^ ^ c+ |
+4 ^ ^ c+ |
+6 ^ ^ (*FAIL) |
+6 ^ ^ (*FAIL) |
+6 ^ ^ (*FAIL) |
+6 ^ ^ (*FAIL) |
+6 ^ ^ (*FAIL) |
+6 ^ ^ (*FAIL) |
+4 ^ ^ c+ |
|
+2 ^^ b? |
|
+4 ^^ c+ |
|
+0 ^ a+ |
+0 ^ a+ |
+2 ^^ b? |
+2 ^^ b? |
+4 ^ ^ c+ |
+4 ^ ^ c+ |
+6 ^ ^ (*FAIL) |
+6 ^ ^ (*FAIL) |
+6 ^ ^ (*FAIL) |
+6 ^ ^ (*FAIL) |
+6 ^ ^ (*FAIL) |
+6 ^ ^ (*FAIL) |
+4 ^^ c+ |
|
No match |
No match |
|
|
/a+b?(*PRUNE)c+(*FAIL)/C |
/a+b?(*PRUNE)c+(*FAIL)/C |
Line 9233 No match
|
Line 9275 No match
|
ab |
ab |
No match |
No match |
|
|
/a(?!)+b/ | /a(?!)b/BZ |
Failed: nothing to repeat at offset 5 | ------------------------------------------------------------------ |
| Bra |
| a |
| *FAIL |
| b |
| Ket |
| End |
| ------------------------------------------------------------------ |
|
|
|
/(?!)?a/BZ |
|
------------------------------------------------------------------ |
|
Bra |
|
Brazero |
|
Assert not |
|
Ket |
|
a |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
ab |
|
0: a |
|
|
/a(*FAIL)+b/ |
/a(*FAIL)+b/ |
Failed: nothing to repeat at offset 8 |
Failed: nothing to repeat at offset 8 |
|
|
Line 9249 Starting byte set: x y z
|
Line 9311 Starting byte set: x y z
|
|
|
/(?(?=.*b)b|^)/CI |
/(?(?=.*b)b|^)/CI |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
|
May match empty string |
Options: |
Options: |
No first char |
No first char |
No need char |
No need char |
Line 9353 No match
|
Line 9416 No match
|
No match |
No match |
|
|
/(*NO_START_OPT)xyz/C |
/(*NO_START_OPT)xyz/C |
abcxyz | abcxyz |
--->abcxyz |
--->abcxyz |
+15 ^ x |
+15 ^ x |
+15 ^ x |
+15 ^ x |
Line 9363 No match
|
Line 9426 No match
|
+17 ^ ^ z |
+17 ^ ^ z |
+18 ^ ^ |
+18 ^ ^ |
0: xyz |
0: xyz |
|
|
|
/(*NO_AUTO_POSSESS)a+b/BZ |
|
------------------------------------------------------------------ |
|
Bra |
|
a+ |
|
b |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
/xyz/CY |
/xyz/CY |
abcxyz |
abcxyz |
Line 10160 No set of starting bytes
|
Line 10232 No set of starting bytes
|
Capturing subpattern count = 1 |
Capturing subpattern count = 1 |
Named capturing subpatterns: |
Named capturing subpatterns: |
a 1 |
a 1 |
a 1 |
|
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 10233 No match
|
Line 10304 No match
|
Ket |
Ket |
Ket |
Ket |
Cond |
Cond |
4 Cond nref | Cond ref <D>2 |
X |
X |
Alt |
Alt |
Y |
Y |
Line 10279 No match
|
Line 10350 No match
|
CBra 4 |
CBra 4 |
d |
d |
Cond |
Cond |
Cond nrecurse 1 | Cond recurse <A>2 |
$ |
$ |
Alt |
Alt |
Recurse |
Recurse |
Line 11036 No need char
|
Line 11107 No need char
|
|
|
/(^ab|^)+/I |
/(^ab|^)+/I |
Capturing subpattern count = 1 |
Capturing subpattern count = 1 |
|
May match empty string |
Options: anchored |
Options: anchored |
No first char |
No first char |
No need char |
No need char |
|
|
/(^ab|^)++/I |
/(^ab|^)++/I |
Capturing subpattern count = 1 |
Capturing subpattern count = 1 |
|
May match empty string |
Options: anchored |
Options: anchored |
No first char |
No first char |
No need char |
No need char |
Line 11060 No need char
|
Line 11133 No need char
|
|
|
/(?:^ab|^)+/I |
/(?:^ab|^)+/I |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
|
May match empty string |
Options: anchored |
Options: anchored |
No first char |
No first char |
No need char |
No need char |
|
|
/(?:^ab|^)++/I |
/(?:^ab|^)++/I |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
|
May match empty string |
Options: anchored |
Options: anchored |
No first char |
No first char |
No need char |
No need char |
Line 11084 Need char = 'b'
|
Line 11159 Need char = 'b'
|
|
|
/(.*ab|.*)+/I |
/(.*ab|.*)+/I |
Capturing subpattern count = 1 |
Capturing subpattern count = 1 |
|
May match empty string |
No options |
No options |
First char at start or follows newline |
First char at start or follows newline |
No need char |
No need char |
|
|
/(.*ab|.*)++/I |
/(.*ab|.*)++/I |
Capturing subpattern count = 1 |
Capturing subpattern count = 1 |
|
May match empty string |
No options |
No options |
First char at start or follows newline |
First char at start or follows newline |
No need char |
No need char |
Line 11108 Need char = 'b'
|
Line 11185 Need char = 'b'
|
|
|
/(?:.*ab|.*)+/I |
/(?:.*ab|.*)+/I |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
|
May match empty string |
No options |
No options |
First char at start or follows newline |
First char at start or follows newline |
No need char |
No need char |
|
|
/(?:.*ab|.*)++/I |
/(?:.*ab|.*)++/I |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
|
May match empty string |
No options |
No options |
First char at start or follows newline |
First char at start or follows newline |
No need char |
No need char |
Line 11519 Matched, but too many substrings
|
Line 11598 Matched, but too many substrings
|
Assert not |
Assert not |
a |
a |
Ket |
Ket |
\w+ | \w++ |
Ket |
Ket |
End |
End |
------------------------------------------------------------------ |
------------------------------------------------------------------ |
Line 11645 Starting byte set: < o t u
|
Line 11724 Starting byte set: < o t u
|
|
|
/a(*SKIP)c|b(*ACCEPT)|/+S!I |
/a(*SKIP)c|b(*ACCEPT)|/+S!I |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 11715 Minimum match() recursion limit = 45
|
Line 11795 Minimum match() recursion limit = 45
|
Bra |
Bra |
^ |
^ |
Once_NC |
Once_NC |
a+ | a++ |
Ket |
Ket |
Once |
Once |
CBra 1 |
CBra 1 |
z+ | z++ |
Ket |
Ket |
Ket |
Ket |
\w |
\w |
Line 11778 No match
|
Line 11858 No match
|
|
|
/^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/ |
/^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/ |
\Maabbccddee |
\Maabbccddee |
Minimum match() limit = 12 | Minimum match() limit = 7 |
Minimum match() recursion limit = 3 | Minimum match() recursion limit = 2 |
0: aabbccddee |
0: aabbccddee |
|
|
/^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/ |
/^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/ |
\Maabbccddee |
\Maabbccddee |
Minimum match() limit = 22 | Minimum match() limit = 17 |
Minimum match() recursion limit = 21 | Minimum match() recursion limit = 16 |
0: aabbccddee |
0: aabbccddee |
1: aa |
1: aa |
2: bb |
2: bb |
Line 11795 Minimum match() recursion limit = 21
|
Line 11875 Minimum match() recursion limit = 21
|
|
|
/^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/ |
/^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/ |
\Maabbccddee |
\Maabbccddee |
Minimum match() limit = 18 | Minimum match() limit = 13 |
Minimum match() recursion limit = 13 | Minimum match() recursion limit = 10 |
0: aabbccddee |
0: aabbccddee |
1: aa |
1: aa |
2: cc |
2: cc |
Line 11887 No match
|
Line 11967 No match
|
Failed: \N is not supported in a class at offset 3 |
Failed: \N is not supported in a class at offset 3 |
|
|
/a[B-\Nc]/ |
/a[B-\Nc]/ |
Failed: \N is not supported in a class at offset 5 | Failed: invalid range in character class at offset 5 |
|
|
|
/a[B\Nc]/ |
|
Failed: \N is not supported in a class at offset 4 |
|
|
/(a)(?2){0,1999}?(b)/ |
/(a)(?2){0,1999}?(b)/ |
|
|
/(a)(?(DEFINE)(b))(?2){0,1999}?(?2)/ |
/(a)(?(DEFINE)(b))(?2){0,1999}?(?2)/ |
Line 12293 No need char
|
Line 12376 No need char
|
/(?>.*?)(?<=(abcd)|(wxyz))/I |
/(?>.*?)(?<=(abcd)|(wxyz))/I |
Capturing subpattern count = 2 |
Capturing subpattern count = 2 |
Max lookbehind = 4 |
Max lookbehind = 4 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 12300 No need char
|
Line 12384 No need char
|
/(?>.*)(?<=(abcd)|(wxyz))/I |
/(?>.*)(?<=(abcd)|(wxyz))/I |
Capturing subpattern count = 2 |
Capturing subpattern count = 2 |
Max lookbehind = 4 |
Max lookbehind = 4 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 12338 Need char = 'c'
|
Line 12423 Need char = 'c'
|
|
|
/.?/S-I |
/.?/S-I |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 12345 Study returned NULL
|
Line 12431 Study returned NULL
|
|
|
/.?/S!I |
/.?/S!I |
Capturing subpattern count = 0 |
Capturing subpattern count = 0 |
|
May match empty string |
No options |
No options |
No first char |
No first char |
No need char |
No need char |
Line 12664 Starting byte set: a z
|
Line 12751 Starting byte set: a z
|
No match |
No match |
aaaaaaaaaaaaaz\Q10 |
aaaaaaaaaaaaaz\Q10 |
Error -21 (recursion limit exceeded) |
Error -21 (recursion limit exceeded) |
|
|
|
/-- This test causes a segfault with Perl 5.18.0 --/ |
|
|
|
/^(?=(a)){0}b(?1)/ |
|
backgammon |
|
0: ba |
|
|
|
/(?|(?<n>f)|(?<n>b))/JI |
|
Capturing subpattern count = 1 |
|
Named capturing subpatterns: |
|
n 1 |
|
Options: dupnames |
|
No first char |
|
No need char |
|
|
|
/(?<a>abc)(?<a>z)\k<a>()/JDZS |
|
------------------------------------------------------------------ |
|
Bra |
|
CBra 1 |
|
abc |
|
Ket |
|
CBra 2 |
|
z |
|
Ket |
|
\k<a>2 |
|
CBra 3 |
|
Ket |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
Capturing subpattern count = 3 |
|
Max back reference = 2 |
|
Named capturing subpatterns: |
|
a 1 |
|
a 2 |
|
Options: dupnames |
|
First char = 'a' |
|
Need char = 'z' |
|
Subject length lower bound = 5 |
|
No set of starting bytes |
|
|
|
/a*[bcd]/BZ |
|
------------------------------------------------------------------ |
|
Bra |
|
a*+ |
|
[b-d] |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/[bcd]*a/BZ |
|
------------------------------------------------------------------ |
|
Bra |
|
[b-d]*+ |
|
a |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/-- A complete set of tests for auto-possessification of character types --/ |
|
|
|
/\D+\D \D+\d \D+\S \D+\s \D+\W \D+\w \D+. \D+\C \D+\R \D+\H \D+\h \D+\V \D+\v \D+\Z \D+\z \D+$/BZx |
|
------------------------------------------------------------------ |
|
Bra |
|
\D+ |
|
\D |
|
\D++ |
|
\d |
|
\D+ |
|
\S |
|
\D+ |
|
\s |
|
\D+ |
|
\W |
|
\D+ |
|
\w |
|
\D+ |
|
Any |
|
\D+ |
|
AllAny |
|
\D+ |
|
\R |
|
\D+ |
|
\H |
|
\D+ |
|
\h |
|
\D+ |
|
\V |
|
\D+ |
|
\v |
|
\D+ |
|
\Z |
|
\D++ |
|
\z |
|
\D+ |
|
$ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/\d+\D \d+\d \d+\S \d+\s \d+\W \d+\w \d+. \d+\C \d+\R \d+\H \d+\h \d+\V \d+\v \d+\Z \d+\z \d+$/BZx |
|
------------------------------------------------------------------ |
|
Bra |
|
\d++ |
|
\D |
|
\d+ |
|
\d |
|
\d+ |
|
\S |
|
\d++ |
|
\s |
|
\d++ |
|
\W |
|
\d+ |
|
\w |
|
\d+ |
|
Any |
|
\d+ |
|
AllAny |
|
\d++ |
|
\R |
|
\d+ |
|
\H |
|
\d++ |
|
\h |
|
\d+ |
|
\V |
|
\d++ |
|
\v |
|
\d++ |
|
\Z |
|
\d++ |
|
\z |
|
\d++ |
|
$ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/\S+\D \S+\d \S+\S \S+\s \S+\W \S+\w \S+. \S+\C \S+\R \S+\H \S+\h \S+\V \S+\v \S+\Z \S+\z \S+$/BZx |
|
------------------------------------------------------------------ |
|
Bra |
|
\S+ |
|
\D |
|
\S+ |
|
\d |
|
\S+ |
|
\S |
|
\S++ |
|
\s |
|
\S+ |
|
\W |
|
\S+ |
|
\w |
|
\S+ |
|
Any |
|
\S+ |
|
AllAny |
|
\S++ |
|
\R |
|
\S+ |
|
\H |
|
\S++ |
|
\h |
|
\S+ |
|
\V |
|
\S++ |
|
\v |
|
\S++ |
|
\Z |
|
\S++ |
|
\z |
|
\S++ |
|
$ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/\s+\D \s+\d \s+\S \s+\s \s+\W \s+\w \s+. \s+\C \s+\R \s+\H \s+\h \s+\V \s+\v \s+\Z \s+\z \s+$/BZx |
|
------------------------------------------------------------------ |
|
Bra |
|
\s+ |
|
\D |
|
\s++ |
|
\d |
|
\s++ |
|
\S |
|
\s+ |
|
\s |
|
\s+ |
|
\W |
|
\s++ |
|
\w |
|
\s+ |
|
Any |
|
\s+ |
|
AllAny |
|
\s+ |
|
\R |
|
\s+ |
|
\H |
|
\s+ |
|
\h |
|
\s+ |
|
\V |
|
\s+ |
|
\v |
|
\s+ |
|
\Z |
|
\s++ |
|
\z |
|
\s+ |
|
$ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/\W+\D \W+\d \W+\S \W+\s \W+\W \W+\w \W+. \W+\C \W+\R \W+\H \W+\h \W+\V \W+\v \W+\Z \W+\z \W+$/BZx |
|
------------------------------------------------------------------ |
|
Bra |
|
\W+ |
|
\D |
|
\W++ |
|
\d |
|
\W+ |
|
\S |
|
\W+ |
|
\s |
|
\W+ |
|
\W |
|
\W++ |
|
\w |
|
\W+ |
|
Any |
|
\W+ |
|
AllAny |
|
\W+ |
|
\R |
|
\W+ |
|
\H |
|
\W+ |
|
\h |
|
\W+ |
|
\V |
|
\W+ |
|
\v |
|
\W+ |
|
\Z |
|
\W++ |
|
\z |
|
\W+ |
|
$ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/\w+\D \w+\d \w+\S \w+\s \w+\W \w+\w \w+. \w+\C \w+\R \w+\H \w+\h \w+\V \w+\v \w+\Z \w+\z \w+$/BZx |
|
------------------------------------------------------------------ |
|
Bra |
|
\w+ |
|
\D |
|
\w+ |
|
\d |
|
\w+ |
|
\S |
|
\w++ |
|
\s |
|
\w++ |
|
\W |
|
\w+ |
|
\w |
|
\w+ |
|
Any |
|
\w+ |
|
AllAny |
|
\w++ |
|
\R |
|
\w+ |
|
\H |
|
\w++ |
|
\h |
|
\w+ |
|
\V |
|
\w++ |
|
\v |
|
\w++ |
|
\Z |
|
\w++ |
|
\z |
|
\w++ |
|
$ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/\C+\D \C+\d \C+\S \C+\s \C+\W \C+\w \C+. \C+\C \C+\R \C+\H \C+\h \C+\V \C+\v \C+\Z \C+\z \C+$/BZx |
|
------------------------------------------------------------------ |
|
Bra |
|
AllAny+ |
|
\D |
|
AllAny+ |
|
\d |
|
AllAny+ |
|
\S |
|
AllAny+ |
|
\s |
|
AllAny+ |
|
\W |
|
AllAny+ |
|
\w |
|
AllAny+ |
|
Any |
|
AllAny+ |
|
AllAny |
|
AllAny+ |
|
\R |
|
AllAny+ |
|
\H |
|
AllAny+ |
|
\h |
|
AllAny+ |
|
\V |
|
AllAny+ |
|
\v |
|
AllAny+ |
|
\Z |
|
AllAny++ |
|
\z |
|
AllAny+ |
|
$ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/\R+\D \R+\d \R+\S \R+\s \R+\W \R+\w \R+. \R+\C \R+\R \R+\H \R+\h \R+\V \R+\v \R+\Z \R+\z \R+$/BZx |
|
------------------------------------------------------------------ |
|
Bra |
|
\R+ |
|
\D |
|
\R++ |
|
\d |
|
\R+ |
|
\S |
|
\R++ |
|
\s |
|
\R+ |
|
\W |
|
\R++ |
|
\w |
|
\R++ |
|
Any |
|
\R+ |
|
AllAny |
|
\R+ |
|
\R |
|
\R+ |
|
\H |
|
\R++ |
|
\h |
|
\R+ |
|
\V |
|
\R+ |
|
\v |
|
\R+ |
|
\Z |
|
\R++ |
|
\z |
|
\R+ |
|
$ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/\H+\D \H+\d \H+\S \H+\s \H+\W \H+\w \H+. \H+\C \H+\R \H+\H \H+\h \H+\V \H+\v \H+\Z \H+\z \H+$/BZx |
|
------------------------------------------------------------------ |
|
Bra |
|
\H+ |
|
\D |
|
\H+ |
|
\d |
|
\H+ |
|
\S |
|
\H+ |
|
\s |
|
\H+ |
|
\W |
|
\H+ |
|
\w |
|
\H+ |
|
Any |
|
\H+ |
|
AllAny |
|
\H+ |
|
\R |
|
\H+ |
|
\H |
|
\H++ |
|
\h |
|
\H+ |
|
\V |
|
\H+ |
|
\v |
|
\H+ |
|
\Z |
|
\H++ |
|
\z |
|
\H+ |
|
$ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/\h+\D \h+\d \h+\S \h+\s \h+\W \h+\w \h+. \h+\C \h+\R \h+\H \h+\h \h+\V \h+\v \h+\Z \h+\z \h+$/BZx |
|
------------------------------------------------------------------ |
|
Bra |
|
\h+ |
|
\D |
|
\h++ |
|
\d |
|
\h++ |
|
\S |
|
\h+ |
|
\s |
|
\h+ |
|
\W |
|
\h++ |
|
\w |
|
\h+ |
|
Any |
|
\h+ |
|
AllAny |
|
\h++ |
|
\R |
|
\h++ |
|
\H |
|
\h+ |
|
\h |
|
\h+ |
|
\V |
|
\h++ |
|
\v |
|
\h+ |
|
\Z |
|
\h++ |
|
\z |
|
\h+ |
|
$ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/\V+\D \V+\d \V+\S \V+\s \V+\W \V+\w \V+. \V+\C \V+\R \V+\H \V+\h \V+\V \V+\v \V+\Z \V+\z \V+$/BZx |
|
------------------------------------------------------------------ |
|
Bra |
|
\V+ |
|
\D |
|
\V+ |
|
\d |
|
\V+ |
|
\S |
|
\V+ |
|
\s |
|
\V+ |
|
\W |
|
\V+ |
|
\w |
|
\V+ |
|
Any |
|
\V+ |
|
AllAny |
|
\V++ |
|
\R |
|
\V+ |
|
\H |
|
\V+ |
|
\h |
|
\V+ |
|
\V |
|
\V++ |
|
\v |
|
\V+ |
|
\Z |
|
\V++ |
|
\z |
|
\V+ |
|
$ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/\v+\D \v+\d \v+\S \v+\s \v+\W \v+\w \v+. \v+\C \v+\R \v+\H \v+\h \v+\V \v+\v \v+\Z \v+\z \v+$/BZx |
|
------------------------------------------------------------------ |
|
Bra |
|
\v+ |
|
\D |
|
\v++ |
|
\d |
|
\v++ |
|
\S |
|
\v+ |
|
\s |
|
\v+ |
|
\W |
|
\v++ |
|
\w |
|
\v+ |
|
Any |
|
\v+ |
|
AllAny |
|
\v+ |
|
\R |
|
\v+ |
|
\H |
|
\v++ |
|
\h |
|
\v++ |
|
\V |
|
\v+ |
|
\v |
|
\v+ |
|
\Z |
|
\v++ |
|
\z |
|
\v+ |
|
$ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/ a+\D a+\d a+\S a+\s a+\W a+\w a+. a+\C a+\R a+\H a+\h a+\V a+\v a+\Z a+\z a+$/BZx |
|
------------------------------------------------------------------ |
|
Bra |
|
a+ |
|
\D |
|
a++ |
|
\d |
|
a+ |
|
\S |
|
a++ |
|
\s |
|
a++ |
|
\W |
|
a+ |
|
\w |
|
a+ |
|
Any |
|
a+ |
|
AllAny |
|
a++ |
|
\R |
|
a+ |
|
\H |
|
a++ |
|
\h |
|
a+ |
|
\V |
|
a++ |
|
\v |
|
a++ |
|
\Z |
|
a++ |
|
\z |
|
a++ |
|
$ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/\n+\D \n+\d \n+\S \n+\s \n+\W \n+\w \n+. \n+\C \n+\R \n+\H \n+\h \n+\V \n+\v \n+\Z \n+\z \n+$/BZx |
|
------------------------------------------------------------------ |
|
Bra |
|
\x0a+ |
|
\D |
|
\x0a++ |
|
\d |
|
\x0a++ |
|
\S |
|
\x0a+ |
|
\s |
|
\x0a+ |
|
\W |
|
\x0a++ |
|
\w |
|
\x0a+ |
|
Any |
|
\x0a+ |
|
AllAny |
|
\x0a+ |
|
\R |
|
\x0a+ |
|
\H |
|
\x0a++ |
|
\h |
|
\x0a++ |
|
\V |
|
\x0a+ |
|
\v |
|
\x0a+ |
|
\Z |
|
\x0a++ |
|
\z |
|
\x0a+ |
|
$ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/ .+\D .+\d .+\S .+\s .+\W .+\w .+. .+\C .+\R .+\H .+\h .+\V .+\v .+\Z .+\z .+$/BZx |
|
------------------------------------------------------------------ |
|
Bra |
|
Any+ |
|
\D |
|
Any+ |
|
\d |
|
Any+ |
|
\S |
|
Any+ |
|
\s |
|
Any+ |
|
\W |
|
Any+ |
|
\w |
|
Any+ |
|
Any |
|
Any+ |
|
AllAny |
|
Any++ |
|
\R |
|
Any+ |
|
\H |
|
Any+ |
|
\h |
|
Any+ |
|
\V |
|
Any+ |
|
\v |
|
Any+ |
|
\Z |
|
Any++ |
|
\z |
|
Any+ |
|
$ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/ .+\D .+\d .+\S .+\s .+\W .+\w .+. .+\C .+\R .+\H .+\h .+\V .+\v .+\Z .+\z .+$/BZxs |
|
------------------------------------------------------------------ |
|
Bra |
|
AllAny+ |
|
\D |
|
AllAny+ |
|
\d |
|
AllAny+ |
|
\S |
|
AllAny+ |
|
\s |
|
AllAny+ |
|
\W |
|
AllAny+ |
|
\w |
|
AllAny+ |
|
AllAny |
|
AllAny+ |
|
AllAny |
|
AllAny+ |
|
\R |
|
AllAny+ |
|
\H |
|
AllAny+ |
|
\h |
|
AllAny+ |
|
\V |
|
AllAny+ |
|
\v |
|
AllAny+ |
|
\Z |
|
AllAny++ |
|
\z |
|
AllAny+ |
|
$ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/\D+$ \d+$ \S+$ \s+$ \W+$ \w+$ \C+$ \R+$ \H+$ \h+$ \V+$ \v+$ a+$ \n+$ .+$ .+$/BZxm |
|
------------------------------------------------------------------ |
|
Bra |
|
\D+ |
|
/m $ |
|
\d++ |
|
/m $ |
|
\S++ |
|
/m $ |
|
\s+ |
|
/m $ |
|
\W+ |
|
/m $ |
|
\w++ |
|
/m $ |
|
AllAny+ |
|
/m $ |
|
\R+ |
|
/m $ |
|
\H+ |
|
/m $ |
|
\h+ |
|
/m $ |
|
\V+ |
|
/m $ |
|
\v+ |
|
/m $ |
|
a+ |
|
/m $ |
|
\x0a+ |
|
/m $ |
|
Any+ |
|
/m $ |
|
Any+ |
|
/m $ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/(?=a+)a(a+)++a/BZ |
|
------------------------------------------------------------------ |
|
Bra |
|
Assert |
|
a++ |
|
Ket |
|
a |
|
CBraPos 1 |
|
a++ |
|
KetRpos |
|
a |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/a+(bb|cc)a+(?:bb|cc)a+(?>bb|cc)a+(?:bb|cc)+a+(aa)a+(?:bb|aa)/BZ |
|
------------------------------------------------------------------ |
|
Bra |
|
a++ |
|
CBra 1 |
|
bb |
|
Alt |
|
cc |
|
Ket |
|
a++ |
|
Bra |
|
bb |
|
Alt |
|
cc |
|
Ket |
|
a++ |
|
Once_NC |
|
bb |
|
Alt |
|
cc |
|
Ket |
|
a++ |
|
Bra |
|
bb |
|
Alt |
|
cc |
|
KetRmax |
|
a+ |
|
CBra 2 |
|
aa |
|
Ket |
|
a+ |
|
Bra |
|
bb |
|
Alt |
|
aa |
|
Ket |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/a+(bb|cc)?#a+(?:bb|cc)??#a+(?:bb|cc)?+#a+(?:bb|cc)*#a+(bb|cc)?a#a+(?:aa)?/BZ |
|
------------------------------------------------------------------ |
|
Bra |
|
a++ |
|
Brazero |
|
CBra 1 |
|
bb |
|
Alt |
|
cc |
|
Ket |
|
# |
|
a++ |
|
Braminzero |
|
Bra |
|
bb |
|
Alt |
|
cc |
|
Ket |
|
# |
|
a++ |
|
Once |
|
Brazero |
|
Bra |
|
bb |
|
Alt |
|
cc |
|
Ket |
|
Ket |
|
# |
|
a++ |
|
Brazero |
|
Bra |
|
bb |
|
Alt |
|
cc |
|
KetRmax |
|
# |
|
a+ |
|
Brazero |
|
CBra 2 |
|
bb |
|
Alt |
|
cc |
|
Ket |
|
a# |
|
a+ |
|
Brazero |
|
Bra |
|
aa |
|
Ket |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/a+(?:bb)?a#a+(?:|||)#a+(?:|b)a#a+(?:|||)?a/BZ |
|
------------------------------------------------------------------ |
|
Bra |
|
a+ |
|
Brazero |
|
Bra |
|
bb |
|
Ket |
|
a# |
|
a++ |
|
Bra |
|
Alt |
|
Alt |
|
Alt |
|
Ket |
|
# |
|
a+ |
|
Bra |
|
Alt |
|
b |
|
Ket |
|
a# |
|
a+ |
|
Brazero |
|
Bra |
|
Alt |
|
Alt |
|
Alt |
|
Ket |
|
a |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/[ab]*/BZ |
|
------------------------------------------------------------------ |
|
Bra |
|
[ab]*+ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
aaaa |
|
0: aaaa |
|
|
|
/[ab]*?/BZ |
|
------------------------------------------------------------------ |
|
Bra |
|
[ab]*? |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
aaaa |
|
0: |
|
|
|
/[ab]?/BZ |
|
------------------------------------------------------------------ |
|
Bra |
|
[ab]?+ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
aaaa |
|
0: a |
|
|
|
/[ab]??/BZ |
|
------------------------------------------------------------------ |
|
Bra |
|
[ab]?? |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
aaaa |
|
0: |
|
|
|
/[ab]+/BZ |
|
------------------------------------------------------------------ |
|
Bra |
|
[ab]++ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
aaaa |
|
0: aaaa |
|
|
|
/[ab]+?/BZ |
|
------------------------------------------------------------------ |
|
Bra |
|
[ab]+? |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
aaaa |
|
0: a |
|
|
|
/[ab]{2,3}/BZ |
|
------------------------------------------------------------------ |
|
Bra |
|
[ab]{2,3}+ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
aaaa |
|
0: aaa |
|
|
|
/[ab]{2,3}?/BZ |
|
------------------------------------------------------------------ |
|
Bra |
|
[ab]{2,3}? |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
aaaa |
|
0: aa |
|
|
|
/[ab]{2,}/BZ |
|
------------------------------------------------------------------ |
|
Bra |
|
[ab]{2,}+ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
aaaa |
|
0: aaaa |
|
|
|
/[ab]{2,}?/BZ |
|
------------------------------------------------------------------ |
|
Bra |
|
[ab]{2,}? |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
aaaa |
|
0: aa |
|
|
|
/\d+\s{0,5}=\s*\S?=\w{0,4}\W*/BZ |
|
------------------------------------------------------------------ |
|
Bra |
|
\d++ |
|
\s{0,5}+ |
|
= |
|
\s*+ |
|
\S? |
|
= |
|
\w{0,4}+ |
|
\W*+ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/[a-d]{5,12}[e-z0-9]*#[^a-z]+[b-y]*a[2-7]?[^0-9a-z]+/BZ |
|
------------------------------------------------------------------ |
|
Bra |
|
[a-d]{5,12}+ |
|
[0-9e-z]*+ |
|
# |
|
[\x00-`{-\xff] (neg)++ |
|
[b-y]*+ |
|
a |
|
[2-7]?+ |
|
[\x00-/:-`{-\xff] (neg)++ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/[a-z]*\s#[ \t]?\S#[a-c]*\S#[C-G]+?\d#[4-8]*\D#[4-9,]*\D#[!$]{0,5}\w#[M-Xf-l]+\W#[a-c,]?\W/BZ |
|
------------------------------------------------------------------ |
|
Bra |
|
[a-z]*+ |
|
\s |
|
# |
|
[\x09 ]?+ |
|
\S |
|
# |
|
[a-c]* |
|
\S |
|
# |
|
[C-G]++ |
|
\d |
|
# |
|
[4-8]*+ |
|
\D |
|
# |
|
[,4-9]* |
|
\D |
|
# |
|
[!$]{0,5}+ |
|
\w |
|
# |
|
[M-Xf-l]++ |
|
\W |
|
# |
|
[,a-c]? |
|
\W |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/a+(aa|bb)*c#a*(bb|cc)*a#a?(bb|cc)*d#[a-f]*(g|hh)*f/BZ |
|
------------------------------------------------------------------ |
|
Bra |
|
a+ |
|
Brazero |
|
CBra 1 |
|
aa |
|
Alt |
|
bb |
|
KetRmax |
|
c# |
|
a* |
|
Brazero |
|
CBra 2 |
|
bb |
|
Alt |
|
cc |
|
KetRmax |
|
a# |
|
a?+ |
|
Brazero |
|
CBra 3 |
|
bb |
|
Alt |
|
cc |
|
KetRmax |
|
d# |
|
[a-f]* |
|
Brazero |
|
CBra 4 |
|
g |
|
Alt |
|
hh |
|
KetRmax |
|
f |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/[a-f]*(g|hh|i)*i#[a-x]{4,}(y{0,6})*y#[a-k]+(ll|mm)+n/BZ |
|
------------------------------------------------------------------ |
|
Bra |
|
[a-f]*+ |
|
Brazero |
|
CBra 1 |
|
g |
|
Alt |
|
hh |
|
Alt |
|
i |
|
KetRmax |
|
i# |
|
[a-x]{4,} |
|
Brazero |
|
SCBra 2 |
|
y{0,6} |
|
KetRmax |
|
y# |
|
[a-k]++ |
|
CBra 3 |
|
ll |
|
Alt |
|
mm |
|
KetRmax |
|
n |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/[a-f]*(?>gg|hh)+#[a-f]*(?>gg|hh)?#[a-f]*(?>gg|hh)*a#[a-f]*(?>gg|hh)*h/BZ |
|
------------------------------------------------------------------ |
|
Bra |
|
[a-f]*+ |
|
Once_NC |
|
gg |
|
Alt |
|
hh |
|
KetRmax |
|
# |
|
[a-f]*+ |
|
Brazero |
|
Once_NC |
|
gg |
|
Alt |
|
hh |
|
Ket |
|
# |
|
[a-f]* |
|
Brazero |
|
Once_NC |
|
gg |
|
Alt |
|
hh |
|
KetRmax |
|
a# |
|
[a-f]*+ |
|
Brazero |
|
Once_NC |
|
gg |
|
Alt |
|
hh |
|
KetRmax |
|
h |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/[a-c]*d/DZS |
|
------------------------------------------------------------------ |
|
Bra |
|
[a-c]*+ |
|
d |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
Capturing subpattern count = 0 |
|
No options |
|
No first char |
|
Need char = 'd' |
|
Subject length lower bound = 1 |
|
Starting byte set: a b c d |
|
|
|
/[a-c]+d/DZS |
|
------------------------------------------------------------------ |
|
Bra |
|
[a-c]++ |
|
d |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
Capturing subpattern count = 0 |
|
No options |
|
No first char |
|
Need char = 'd' |
|
Subject length lower bound = 2 |
|
Starting byte set: a b c |
|
|
|
/[a-c]?d/DZS |
|
------------------------------------------------------------------ |
|
Bra |
|
[a-c]?+ |
|
d |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
Capturing subpattern count = 0 |
|
No options |
|
No first char |
|
Need char = 'd' |
|
Subject length lower bound = 1 |
|
Starting byte set: a b c d |
|
|
|
/[a-c]{4,6}d/DZS |
|
------------------------------------------------------------------ |
|
Bra |
|
[a-c]{4,6}+ |
|
d |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
Capturing subpattern count = 0 |
|
No options |
|
No first char |
|
Need char = 'd' |
|
Subject length lower bound = 5 |
|
Starting byte set: a b c |
|
|
|
/[a-c]{0,6}d/DZS |
|
------------------------------------------------------------------ |
|
Bra |
|
[a-c]{0,6}+ |
|
d |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
Capturing subpattern count = 0 |
|
No options |
|
No first char |
|
Need char = 'd' |
|
Subject length lower bound = 1 |
|
Starting byte set: a b c d |
|
|
|
/-- End of special auto-possessive tests --/ |
|
|
|
/^A\o{1239}B/ |
|
Failed: non-octal character in \o{} (closing brace missing?) at offset 8 |
|
|
|
/^A\oB/ |
|
Failed: missing opening brace after \o at offset 3 |
|
|
|
/^A\x{zz}B/ |
|
Failed: non-hex character in \x{} (closing brace missing?) at offset 5 |
|
|
|
/^A\x{12Z/ |
|
Failed: non-hex character in \x{} (closing brace missing?) at offset 7 |
|
|
|
/^A\x{/ |
|
Failed: non-hex character in \x{} (closing brace missing?) at offset 5 |
|
|
|
/[ab]++/BZO |
|
------------------------------------------------------------------ |
|
Bra |
|
[ab]++ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/[^ab]*+/BZO |
|
------------------------------------------------------------------ |
|
Bra |
|
[\x00-`c-\xff] (neg)*+ |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/a{4}+/BZO |
|
------------------------------------------------------------------ |
|
Bra |
|
a{4} |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/a{4}+/BZOi |
|
------------------------------------------------------------------ |
|
Bra |
|
/i a{4} |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
|
|
/[a-[:digit:]]+/ |
|
Failed: invalid range in character class at offset 3 |
|
|
|
/[A-[:digit:]]+/ |
|
Failed: invalid range in character class at offset 3 |
|
|
|
/[a-[.xxx.]]+/ |
|
Failed: invalid range in character class at offset 3 |
|
|
|
/[a-[=xxx=]]+/ |
|
Failed: invalid range in character class at offset 3 |
|
|
|
/[a-[!xxx!]]+/ |
|
Failed: range out of order in character class at offset 3 |
|
|
|
/[A-[!xxx!]]+/ |
|
A]]] |
|
0: A]]] |
|
|
|
/[a-\d]+/ |
|
Failed: invalid range in character class at offset 4 |
|
|
|
/(?<0abc>xx)/ |
|
Failed: group name must start with a non-digit at offset 3 |
|
|
|
/(?&1abc)xx(?<1abc>y)/ |
|
Failed: group name must start with a non-digit at offset 3 |
|
|
|
/(?<ab-cd>xx)/ |
|
Failed: syntax error in subpattern name (missing terminator) at offset 5 |
|
|
|
/(?'0abc'xx)/ |
|
Failed: group name must start with a non-digit at offset 3 |
|
|
|
/(?P<0abc>xx)/ |
|
Failed: group name must start with a non-digit at offset 4 |
|
|
|
/\k<5ghj>/ |
|
Failed: group name must start with a non-digit at offset 3 |
|
|
|
/\k'5ghj'/ |
|
Failed: group name must start with a non-digit at offset 3 |
|
|
|
/\k{2fgh}/ |
|
Failed: group name must start with a non-digit at offset 3 |
|
|
|
/(?P=8yuki)/ |
|
Failed: group name must start with a non-digit at offset 4 |
|
|
|
/\g{4df}/ |
|
Failed: group name must start with a non-digit at offset 3 |
|
|
|
/(?&1abc)xx(?<1abc>y)/ |
|
Failed: group name must start with a non-digit at offset 3 |
|
|
|
/(?P>1abc)xx(?<1abc>y)/ |
|
Failed: group name must start with a non-digit at offset 4 |
|
|
|
/\g'3gh'/ |
|
Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 7 |
|
|
|
/\g<5fg>/ |
|
Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 7 |
|
|
|
/(?(<4gh>)abc)/ |
|
Failed: group name must start with a non-digit at offset 4 |
|
|
|
/(?('4gh')abc)/ |
|
Failed: group name must start with a non-digit at offset 4 |
|
|
|
/(?(4gh)abc)/ |
|
Failed: malformed number or name after (?( at offset 4 |
|
|
|
/(?(R&6yh)abc)/ |
|
Failed: group name must start with a non-digit at offset 5 |
|
|
|
/-- Test the ugly "start or end of word" compatibility syntax --/ |
|
|
|
/[[:<:]]red[[:>:]]/BZ |
|
------------------------------------------------------------------ |
|
Bra |
|
\b |
|
Assert |
|
\w |
|
Ket |
|
red |
|
\b |
|
AssertB |
|
Reverse |
|
\w |
|
Ket |
|
Ket |
|
End |
|
------------------------------------------------------------------ |
|
little red riding hood |
|
0: red |
|
a /red/ thing |
|
0: red |
|
red is a colour |
|
0: red |
|
put it all on red |
|
0: red |
|
** Failers |
|
No match |
|
no reduction |
|
No match |
|
Alfred Winifred |
|
No match |
|
|
|
/[a[:<:]] should give error/ |
|
Failed: unknown POSIX class name at offset 4 |
|
|
/-- End of testinput2 --/ |
/-- End of testinput2 --/ |