| /(a)b|/ |
| |
| /abc/ |
| abc |
| defabc |
| \Aabc |
| *** Failers |
| \Adefabc |
| ABC |
| |
| /^abc/ |
| abc |
| \Aabc |
| *** Failers |
| defabc |
| \Adefabc |
| |
| /a+bc/ |
| |
| /a*bc/ |
| |
| /a{3}bc/ |
| |
| /(abc|a+z)/ |
| |
| /^abc$/ |
| abc |
| *** Failers |
| def\nabc |
| |
| /ab\gdef/X |
| |
| /(?X)ab\gdef/X |
| |
| /x{5,4}/ |
| |
| /z{65536}/ |
| |
| /[abcd/ |
| |
| /(?X)[\B]/ |
| |
| /[z-a]/ |
| |
| /^*/ |
| |
| /(abc/ |
| |
| /(?# abc/ |
| |
| /(?z)abc/ |
| |
| /.*b/ |
| |
| /.*?b/ |
| |
| /cat|dog|elephant/ |
| this sentence eventually mentions a cat |
| this sentences rambles on and on for a while and then reaches elephant |
| |
| /cat|dog|elephant/S |
| this sentence eventually mentions a cat |
| this sentences rambles on and on for a while and then reaches elephant |
| |
| /cat|dog|elephant/iS |
| this sentence eventually mentions a CAT cat |
| this sentences rambles on and on for a while to elephant ElePhant |
| |
| /a|[bcd]/S |
| |
| /(a|[^\dZ])/S |
| |
| /(a|b)*[\s]/S |
| |
| /(ab\2)/ |
| |
| /{4,5}abc/ |
| |
| /(a)(b)(c)\2/ |
| abcb |
| \O0abcb |
| \O3abcb |
| \O6abcb |
| \O9abcb |
| \O12abcb |
| |
| /(a)bc|(a)(b)\2/ |
| abc |
| \O0abc |
| \O3abc |
| \O6abc |
| aba |
| \O0aba |
| \O3aba |
| \O6aba |
| \O9aba |
| \O12aba |
| |
| /abc$/E |
| abc |
| *** Failers |
| abc\n |
| abc\ndef |
| |
| /(a)(b)(c)(d)(e)\6/ |
| |
| /the quick brown fox/ |
| the quick brown fox |
| this is a line with the quick brown fox |
| |
| /the quick brown fox/A |
| the quick brown fox |
| *** Failers |
| this is a line with the quick brown fox |
| |
| /ab(?z)cd/ |
| |
| /^abc|def/ |
| abcdef |
| abcdef\B |
| |
| /.*((abc)$|(def))/ |
| defabc |
| \Zdefabc |
| |
| /abc/P |
| abc |
| *** Failers |
| |
| /^abc|def/P |
| abcdef |
| abcdef\B |
| |
| /.*((abc)$|(def))/P |
| defabc |
| \Zdefabc |
| |
| /the quick brown fox/P |
| the quick brown fox |
| *** Failers |
| The Quick Brown Fox |
| |
| /the quick brown fox/Pi |
| the quick brown fox |
| The Quick Brown Fox |
| |
| /abc.def/P |
| *** Failers |
| abc\ndef |
| |
| /abc$/P |
| abc |
| abc\n |
| |
| /(abc)\2/P |
| |
| /(abc\1)/P |
| abc |
| |
| /)/ |
| |
| /a[]b/ |
| |
| /[^aeiou ]{3,}/ |
| co-processors, and for |
| |
| /<.*>/ |
| abc<def>ghi<klm>nop |
| |
| /<.*?>/ |
| abc<def>ghi<klm>nop |
| |
| /<.*>/U |
| abc<def>ghi<klm>nop |
| |
| /(?U)<.*>/ |
| abc<def>ghi<klm>nop |
| |
| /<.*?>/U |
| abc<def>ghi<klm>nop |
| |
| /={3,}/U |
| abc========def |
| |
| /(?U)={3,}?/ |
| abc========def |
| |
| /(?<!bar|cattle)foo/ |
| foo |
| catfoo |
| *** Failers |
| the barfoo |
| and cattlefoo |
| |
| /(?<=a+)b/ |
| |
| /(?<=aaa|b{0,3})b/ |
| |
| /(?<!(foo)a\1)bar/ |
| |
| /(?i)abc/ |
| |
| /(a|(?m)a)/ |
| |
| /(?i)^1234/ |
| |
| /(^b|(?i)^d)/ |
| |
| /(?s).*/ |
| |
| /[abcd]/S |
| |
| /(?i)[abcd]/S |
| |
| /(?m)[xy]|(b|c)/S |
| |
| /(^a|^b)/m |
| |
| /(?i)(^a|^b)/m |
| |
| /(a)(?(1)a|b|c)/ |
| |
| /(?(?=a)a|b|c)/ |
| |
| /(?(1a)/ |
| |
| /(?(?i))/ |
| |
| /(?(abc))/ |
| |
| /(?(?<ab))/ |
| |
| /((?s)blah)\s+\1/ |
| |
| /((?i)blah)\s+\1/ |
| |
| /((?i)b)/DS |
| |
| /(a*b|(?i:c*(?-i)d))/S |
| |
| /a$/ |
| a |
| a\n |
| *** Failers |
| \Za |
| \Za\n |
| |
| /a$/m |
| a |
| a\n |
| \Za\n |
| *** Failers |
| \Za |
| |
| /\Aabc/m |
| |
| /^abc/m |
| |
| /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ |
| aaaaabbbbbcccccdef |
| |
| /(?<=foo)[ab]/S |
| |
| /(?<!foo)(alpha|omega)/S |
| |
| /(?!alphabet)[ab]/S |
| |
| /(?<=foo\n)^bar/m |
| foo\nbarbar |
| ***Failers |
| rhubarb |
| barbell |
| abc\nbarton |
| |
| /^(?<=foo\n)bar/m |
| foo\nbarbar |
| ***Failers |
| rhubarb |
| barbell |
| abc\nbarton |
| |
| /(?>^abc)/m |
| abc |
| def\nabc |
| *** Failers |
| defabc |
| |
| /(?<=ab(c+)d)ef/ |
| |
| /(?<=ab(?<=c+)d)ef/ |
| |
| /(?<=ab(c|de)f)g/ |
| |
| /The next three are in testinput2 because they have variable length branches/ |
| |
| /(?<=bullock|donkey)-cart/ |
| the bullock-cart |
| a donkey-cart race |
| *** Failers |
| cart |
| horse-and-cart |
| |
| /(?<=ab(?i)x|y|z)/ |
| |
| /(?>.*)(?<=(abcd)|(xyz))/ |
| alphabetabcd |
| endingxyz |
| |
| /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/ |
| abxyZZ |
| abXyZZ |
| ZZZ |
| zZZ |
| bZZ |
| BZZ |
| *** Failers |
| ZZ |
| abXYZZ |
| zzz |
| bzz |
| |
| /(?<!(foo)a)bar/ |
| bar |
| foobbar |
| *** Failers |
| fooabar |
| |
| /This one is here because Perl 5.005_02 doesn't fail it/ |
| |
| /^(a)?(?(1)a|b)+$/ |
| *** Failers |
| a |
| |
| /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/ |
| |
| /^(a\1?){4}$/ |
| aaaaaa |
| |
| /These are syntax tests from Perl 5.005/ |
| |
| /a[b-a]/ |
| |
| /a[]b/ |
| |
| /a[/ |
| |
| /*a/ |
| |
| /(*)b/ |
| |
| /abc)/ |
| |
| /(abc/ |
| |
| /a**/ |
| |
| /)(/ |
| |
| /\1/ |
| |
| /\2/ |
| |
| /(a)|\2/ |
| |
| /a[b-a]/i |
| |
| /a[]b/i |
| |
| /a[/i |
| |
| /*a/i |
| |
| /(*)b/i |
| |
| /abc)/i |
| |
| /(abc/i |
| |
| /a**/i |
| |
| /)(/i |
| |
| /:(?:/ |
| |
| /(?<%)b/ |
| |
| /a(?{)b/ |
| |
| /a(?{{})b/ |
| |
| /a(?{}})b/ |
| |
| /a(?{"{"})b/ |
| |
| /a(?{"{"}})b/ |
| |
| /(?(1?)a|b)/ |
| |
| /(?(1)a|b|c)/ |
| |
| /[a[:xyz:/ |
| |
| /(?<=x+)y/ |
| |
| /a{37,17}/ |
| |
| /abc/\ |
| |
| /abc/\P |
| |
| /abc/\i |
| |
| /(a)bc(d)/ |
| abcd |
| abcd\C2 |
| abcd\C5 |
| |
| /(.{20})/ |
| abcdefghijklmnopqrstuvwxyz |
| abcdefghijklmnopqrstuvwxyz\C1 |
| abcdefghijklmnopqrstuvwxyz\G1 |
| |
| /(.{15})/ |
| abcdefghijklmnopqrstuvwxyz |
| abcdefghijklmnopqrstuvwxyz\C1\G1 |
| |
| /(.{16})/ |
| abcdefghijklmnopqrstuvwxyz |
| abcdefghijklmnopqrstuvwxyz\C1\G1\L |
| |
| /^(a|(bc))de(f)/ |
| adef\G1\G2\G3\G4\L |
| bcdef\G1\G2\G3\G4\L |
| adefghijk\C0 |
| |
| /^abc\00def/ |
| abc\00def\L\C0 |
| |
| /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ |
| )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ |
| )?)?)?)?)?)?)?)?)?otherword/M |
| |
| /.*X/D |
| |
| /.*X/Ds |
| |
| /(.*X|^B)/D |
| |
| /(.*X|^B)/Ds |
| |
| /(?s)(.*X|^B)/D |
| |
| /(?s:.*X|^B)/D |
| |
| /\Biss\B/+ |
| Mississippi |
| |
| /\Biss\B/+P |
| Mississippi |
| |
| /iss/G+ |
| Mississippi |
| |
| /\Biss\B/G+ |
| Mississippi |
| |
| /\Biss\B/g+ |
| Mississippi |
| *** Failers |
| Mississippi\A |
| |
| /(?<=[Ms])iss/g+ |
| Mississippi |
| |
| /(?<=[Ms])iss/G+ |
| Mississippi |
| |
| /^iss/g+ |
| ississippi |
| |
| /.*iss/g+ |
| abciss\nxyzisspqr |
| |
| /.i./+g |
| Mississippi |
| Mississippi\A |
| Missouri river |
| Missouri river\A |
| |
| /^.is/+g |
| Mississippi |
| |
| /^ab\n/g+ |
| ab\nab\ncd |
| |
| /^ab\n/mg+ |
| ab\nab\ncd |
| |
| /abc/ |
| |
| /abc|bac/ |
| |
| /(abc|bac)/ |
| |
| /(abc|(c|dc))/ |
| |
| /(abc|(d|de)c)/ |
| |
| /a*/ |
| |
| /a+/ |
| |
| /(baa|a+)/ |
| |
| /a{0,3}/ |
| |
| /baa{3,}/ |
| |
| /"([^\\"]+|\\.)*"/ |
| |
| /(abc|ab[cd])/ |
| |
| /(a|.)/ |
| |
| /a|ba|\w/ |
| |
| /abc(?=pqr)/ |
| |
| /...(?<=abc)/ |
| |
| /abc(?!pqr)/ |
| |
| /ab./ |
| |
| /ab[xyz]/ |
| |
| /abc*/ |
| |
| /ab.c*/ |
| |
| /a.c*/ |
| |
| /.c*/ |
| |
| /ac*/ |
| |
| /(a.c*|b.c*)/ |
| |
| /a.c*|aba/ |
| |
| /.+a/ |
| |
| /(?=abcda)a.*/ |
| |
| /(?=a)a.*/ |
| |
| /a(b)*/ |
| |
| /a\d*/ |
| |
| /ab\d*/ |
| |
| /a(\d)*/ |
| |
| /abcde{0,0}/ |
| |
| /ab\d+/ |
| |
| /a(?(1)b)/ |
| |
| /a(?(1)bag|big)/ |
| |
| /a(?(1)bag|big)*/ |
| |
| /a(?(1)bag|big)+/ |
| |
| /a(?(1)b..|b..)/ |
| |
| /ab\d{0}e/ |
| |
| /a?b?/ |
| a |
| b |
| ab |
| \ |
| *** Failers |
| \N |
| |
| /|-/ |
| abcd |
| -abc |
| \Nab-c |
| *** Failers |
| \Nabc |
| |
| /a*(b+)(z)(z)/P |
| aaaabbbbzzzz |
| aaaabbbbzzzz\O0 |
| aaaabbbbzzzz\O1 |
| aaaabbbbzzzz\O2 |
| aaaabbbbzzzz\O3 |
| aaaabbbbzzzz\O4 |
| aaaabbbbzzzz\O5 |
| |
| /^.?abcd/S |
| |
| /\( # ( at start |
| (?: # Non-capturing bracket |
| (?>[^()]+) # Either a sequence of non-brackets (no backtracking) |
| | # Or |
| (?R) # Recurse - i.e. nested bracketed string |
| )* # Zero or more contents |
| \) # Closing ) |
| /x |
| (abcd) |
| (abcd)xyz |
| xyz(abcd) |
| (ab(xy)cd)pqr |
| (ab(xycd)pqr |
| () abc () |
| 12(abcde(fsh)xyz(foo(bar))lmno)89 |
| *** Failers |
| abcd |
| abcd) |
| (abcd |
| |
| /\( ( (?>[^()]+) | (?R) )* \) /xg |
| (ab(xy)cd)pqr |
| 1(abcd)(x(y)z)pqr |
| |
| /\( (?: (?>[^()]+) | (?R) ) \) /x |
| (abcd) |
| (ab(xy)cd) |
| (a(b(c)d)e) |
| ((ab)) |
| *** Failers |
| () |
| |
| /\( (?: (?>[^()]+) | (?R) )? \) /x |
| () |
| 12(abcde(fsh)xyz(foo(bar))lmno)89 |
| |
| /\( ( (?>[^()]+) | (?R) )* \) /x |
| (ab(xy)cd) |
| |
| /\( ( ( (?>[^()]+) | (?R) )* ) \) /x |
| (ab(xy)cd) |
| |
| /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /x |
| (ab(xy)cd) |
| (123ab(xy)cd) |
| |
| /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /x |
| (ab(xy)cd) |
| (123ab(xy)cd) |
| |
| /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /x |
| (ab(xy)cd) |
| |
| /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /x |
| (abcd(xyz<p>qrs)123) |
| |
| /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /x |
| (ab(cd)ef) |
| (ab(cd(ef)gh)ij) |
| |
| /^[[:alnum:]]/D |
| |
| /^[[:^alnum:]]/D |
| |
| /^[[:alpha:]]/D |
| |
| /^[[:^alpha:]]/D |
| |
| /^[[:ascii:]]/D |
| |
| /^[[:^ascii:]]/D |
| |
| /^[[:blank:]]/D |
| |
| /^[[:cntrl:]]/D |
| |
| /^[[:digit:]]/D |
| |
| /^[[:graph:]]/D |
| |
| /^[[:lower:]]/D |
| |
| /^[[:print:]]/D |
| |
| /^[[:punct:]]/D |
| |
| /^[[:space:]]/D |
| |
| /^[[:upper:]]/D |
| |
| /^[[:xdigit:]]/D |
| |
| /^[[:word:]]/D |
| |
| /^[[:^cntrl:]]/D |
| |
| /^[12[:^digit:]]/D |
| |
| /^[[:^blank:]]/D |
| |
| /[01[:alpha:]%]/D |
| |
| /[[.ch.]]/ |
| |
| /[[=ch=]]/ |
| |
| /[[:rhubarb:]]/ |
| |
| /[[:upper:]]/i |
| A |
| a |
| |
| /[[:lower:]]/i |
| A |
| a |
| |
| /((?-i)[[:lower:]])[[:lower:]]/i |
| ab |
| aB |
| *** Failers |
| Ab |
| AB |
| |
| /[\200-\410]/ |
| |
| /^(?(0)f|b)oo/ |
| |
| /This one's here because of the large output vector needed/ |
| |
| /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/ |
| \O900 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 ABC ABC |
| |
| /This one's here because Perl does this differently and PCRE can't at present/ |
| |
| /(main(O)?)+/ |
| mainmain |
| mainOmain |
| |
| /These are all cases where Perl does it differently (nested captures)/ |
| |
| /^(a(b)?)+$/ |
| aba |
| |
| /^(aa(bb)?)+$/ |
| aabbaa |
| |
| /^(aa|aa(bb))+$/ |
| aabbaa |
| |
| /^(aa(bb)??)+$/ |
| aabbaa |
| |
| /^(?:aa(bb)?)+$/ |
| aabbaa |
| |
| /^(aa(b(b))?)+$/ |
| aabbaa |
| |
| /^(?:aa(b(b))?)+$/ |
| aabbaa |
| |
| /^(?:aa(b(?:b))?)+$/ |
| aabbaa |
| |
| /^(?:aa(bb(?:b))?)+$/ |
| aabbbaa |
| |
| /^(?:aa(b(?:bb))?)+$/ |
| aabbbaa |
| |
| /^(?:aa(?:b(b))?)+$/ |
| aabbaa |
| |
| /^(?:aa(?:b(bb))?)+$/ |
| aabbbaa |
| |
| /^(aa(b(bb))?)+$/ |
| aabbbaa |
| |
| /^(aa(bb(bb))?)+$/ |
| aabbbbaa |
| |
| /--------------------------------------------------------------------/ |
| |
| /#/xMD |
| |
| /a#/xMD |
| |
| /[\s]/D |
| |
| /[\S]/D |
| |
| /a(?i)b/D |
| ab |
| aB |
| *** Failers |
| AB |
| |
| /(a(?i)b)/D |
| ab |
| aB |
| *** Failers |
| AB |
| |
| / (?i)abc/xD |
| |
| /#this is a comment |
| (?i)abc/xD |
| |
| /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D |
| |
| /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D |
| |
| /\Q\E/D |
| \ |
| |
| /\Q\Ex/D |
| |
| / \Q\E/D |
| |
| /a\Q\E/D |
| abc |
| bca |
| bac |
| |
| /a\Q\Eb/D |
| abc |
| |
| /\Q\Eabc/D |
| |
| /x*+\w/D |
| *** Failers |
| xxxxx |
| |
| /x?+/D |
| |
| /x++/D |
| |
| /x{1,3}+/D |
| |
| /(x)*+/D |
| |
| /^(\w++|\s++)*$/ |
| now is the time for all good men to come to the aid of the party |
| *** Failers |
| this is not a line with only words and spaces! |
| |
| /(\d++)(\w)/ |
| 12345a |
| *** Failers |
| 12345+ |
| |
| /a++b/ |
| aaab |
| |
| /(a++b)/ |
| aaab |
| |
| /(a++)b/ |
| aaab |
| |
| /([^()]++|\([^()]*\))+/ |
| ((abc(ade)ufh()()x |
| |
| /\(([^()]++|\([^()]+\))+\)/ |
| (abc) |
| (abc(def)xyz) |
| *** Failers |
| ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
| |
| /(abc){1,3}+/D |
| |
| /a+?+/ |
| |
| /a{2,3}?+b/ |
| |
| /(?U)a+?+/ |
| |
| /a{2,3}?+b/U |
| |
| /x(?U)a++b/D |
| xaaaab |
| |
| /(?U)xa++b/D |
| xaaaab |
| |
| /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/D |
| |
| /^x(?U)a+b/D |
| |
| /^x(?U)(a+)b/D |
| |
| /[.x.]/ |
| |
| /[=x=]/ |
| |
| /[:x:]/ |
| |
| /\l/ |
| |
| /\L/ |
| |
| /\N{name}/ |
| |
| /\u/ |
| |
| /\U/ |
| |
| /[/ |
| |
| /[a-/ |
| |
| /[[:space:]/ |
| |
| /[\s]/DM |
| |
| /[[:space:]]/DM |
| |
| /[[:space:]abcde]/DM |
| |
| /< (?: (?(R) \d++ | [^<>]*+) | (?R)) * >/x |
| <> |
| <abcd> |
| <abc <123> hij> |
| <abc <def> hij> |
| <abc<>def> |
| <abc<> |
| *** Failers |
| <abc |
| |
| |8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|DM |
| |
| |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|DM |
| |
| /(.*)\d+\1/I |
| |
| /(.*)\d+/I |
| |
| /(.*)\d+\1/Is |
| |
| /(.*)\d+/Is |
| |
| /(.*(xyz))\d+\2/I |
| |
| /((.*))\d+\1/I |
| abc123bc |
| |
| /a[b]/I |
| |
| /(?=a).*/I |
| |
| /(?=abc).xyz/iI |
| |
| /(?=abc)(?i).xyz/I |
| |
| /(?=a)(?=b)/I |
| |
| /(?=.)a/I |
| |
| /((?=abcda)a)/I |
| |
| /((?=abcda)ab)/I |
| |
| /()a/I |
| |
| /(?(1)ab|ac)/I |
| |
| /(?(1)abz|acz)/I |
| |
| /(?(1)abz)/I |
| |
| /(?(1)abz)123/I |
| |
| /(a)+/I |
| |
| /(a){2,3}/I |
| |
| /(a)*/I |
| |
| /[a]/I |
| |
| /[ab]/I |
| |
| /[ab]/IS |
| |
| /[^a]/I |
| |
| /\d456/I |
| |
| /\d456/IS |
| |
| /a^b/I |
| |
| /^a/mI |
| abcde |
| xy\nabc |
| *** Failers |
| xyabc |
| |
| /c|abc/I |
| |
| /(?i)[ab]/IS |
| |
| /[ab](?i)cd/IS |
| |
| /abc(?C)def/ |
| abcdef |
| 1234abcdef |
| *** Failers |
| abcxyz |
| abcxyzf |
| |
| /abc(?C)de(?C1)f/ |
| 123abcdef |
| |
| /(?C1)\dabc(?C2)def/ |
| 1234abcdef |
| *** Failers |
| abcdef |
| |
| /(?C255)ab/ |
| |
| /(?C256)ab/ |
| |
| /(?Cab)xx/ |
| |
| /(?C12vr)x/ |
| |
| /abc(?C)def/ |
| *** Failers |
| \x83\x0\x61bcdef |
| |
| /(abc)(?C)de(?C1)f/ |
| 123abcdef |
| 123abcdef\C+ |
| 123abcdef\C- |
| *** Failers |
| 123abcdef\C!1 |
| |
| /(?C0)(abc(?C1))*/ |
| abcabcabc |
| abcabc\C!1!3 |
| *** Failers |
| abcabcabc\C!1!3 |
| |
| /(\d{3}(?C))*/ |
| 123\C+ |
| 123456\C+ |
| 123456789\C+ |
| |
| /((xyz)(?C)p|(?C1)xyzabc)/ |
| xyzabc\C+ |
| |
| /(X)((xyz)(?C)p|(?C1)xyzabc)/ |
| Xxyzabc\C+ |
| |
| /(?=(abc))(?C)abcdef/ |
| abcdef\C+ |
| |
| /(?!(abc)(?C1)d)(?C2)abcxyz/ |
| abcxyz\C+ |
| |
| /(?<=(abc)(?C))xyz/ |
| abcxyz\C+ |
| |
| /(?C)abc/ |
| |
| /(?C)^abc/ |
| |
| /(?C)a|b/S |
| |
| /(?R)/ |
| |
| /(a|(?R))/ |
| |
| /(ab|(bc|(de|(?R))))/ |
| |
| /x(ab|(bc|(de|(?R))))/ |
| xab |
| xbc |
| xde |
| xxab |
| xxxab |
| *** Failers |
| xyab |
| |
| /(ab|(bc|(de|(?1))))/ |
| |
| /x(ab|(bc|(de|(?1)x)x)x)/ |
| |
| /^([^()]|\((?1)*\))*$/ |
| abc |
| a(b)c |
| a(b(c))d |
| *** Failers) |
| a(b(c)d |
| |
| /^>abc>([^()]|\((?1)*\))*<xyz<$/ |
| >abc>123<xyz< |
| >abc>1(2)3<xyz< |
| >abc>(1(2)3)<xyz< |
| |
| /(a(?1)b)/D |
| |
| /(a(?1)+b)/D |
| |
| /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/i |
| 1221 |
| Satan, oscillate my metallic sonatas! |
| A man, a plan, a canal: Panama! |
| Able was I ere I saw Elba. |
| *** Failers |
| The quick brown fox |
| |
| /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/ |
| 12 |
| (((2+2)*-3)-7) |
| -12 |
| *** Failers |
| ((2+2)*-3)-7) |
| |
| /^(x(y|(?1){2})z)/ |
| xyz |
| xxyzxyzz |
| *** Failers |
| xxyzz |
| xxyzxyzxyzz |
| |
| /((< (?: (?(R) \d++ | [^<>]*+) | (?2)) * >))/x |
| <> |
| <abcd> |
| <abc <123> hij> |
| <abc <def> hij> |
| <abc<>def> |
| <abc<> |
| *** Failers |
| <abc |
| |
| /(?1)/ |
| |
| /((?2)(abc)/ |
| |
| /^(abc)def(?1)/ |
| abcdefabc |
| |
| /^(a|b|c)=(?1)+/ |
| a=a |
| a=b |
| a=bc |
| |
| /^(a|b|c)=((?1))+/ |
| a=a |
| a=b |
| a=bc |
| |
| /a(?P<name1>b|c)d(?P<longername2>e)/D |
| abde |
| acde |
| |
| /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/D |
| |
| /(?P<a>a)...(?P=a)bbb(?P>a)d/D |
| |
| /^\W*(?:(?P<one>(?P<two>.)\W*(?P>one)\W*(?P=two)|)|(?P<three>(?P<four>.)\W*(?P>three)\W*(?P=four)|\W*.\W*))\W*$/i |
| 1221 |
| Satan, oscillate my metallic sonatas! |
| A man, a plan, a canal: Panama! |
| Able was I ere I saw Elba. |
| *** Failers |
| The quick brown fox |
| |
| /((?(R)a|b))\1(?1)?/ |
| bb |
| bbaa |
| |
| /(.*)a/sI |
| |
| /(.*)a\1/sI |
| |
| /(.*)a(b)\2/sI |
| |
| /((.*)a|(.*)b)z/sI |
| |
| /((.*)a|(.*)b)z\1/sI |
| |
| /((.*)a|(.*)b)z\2/sI |
| |
| /((.*)a|(.*)b)z\3/sI |
| |
| /((.*)a|^(.*)b)z\3/sI |
| |
| /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/sI |
| |
| /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/sI |
| |
| /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/sI |
| |
| /(a)(bc)/ND |
| abc |
| |
| /(?P<one>a)(bc)/ND |
| abc |
| |
| /(a)(?P<named>bc)/ND |
| |
| /(a+)*zz/ |
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M |
| aaaaaaaaaaaaaz\M |
| |
| /(aaa(?C1)bbb|ab)/ |
| aaabbb |
| aaabbb\C*0 |
| aaabbb\C*1 |
| aaabbb\C*-1 |
| |
| /ab(?P<one>cd)ef(?P<two>gh)/ |
| abcdefgh |
| abcdefgh\C1\Gtwo |
| abcdefgh\Cone\Ctwo |
| abcdefgh\Cthree |
| |
| /(?P<Tes>)(?P<Test>)/D |
| |
| /(?P<Test>)(?P<Tes>)/D |
| |
| /(?P<Z>zz)(?P<A>aa)/ |
| zzaa\CZ |
| zzaa\CA |
| |
| /(?P<x>eks)(?P<x>eccs)/ |
| |
| /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/ |
| |
| "\[((?P<elem>\d+)(,(?P>elem))*)\]" |
| [10,20,30,5,5,4,4,2,43,23,4234] |
| *** Failers |
| [] |
| |
| "\[((?P<elem>\d+)(,(?P>elem))*)?\]" |
| [10,20,30,5,5,4,4,2,43,23,4234] |
| [] |
| |
| /(a(b(?2)c))?/D |
| |
| /(a(b(?2)c))*/D |
| |
| /(a(b(?2)c)){0,2}/D |
| |
| /[ab]{1}+/D |
| |
| /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/i |
| Baby Bjorn Active Carrier - With free SHIPPING!! |
| |
| /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/iS |
| Baby Bjorn Active Carrier - With free SHIPPING!! |
| |
| /a*.*b/SD |
| |
| /(a|b)*.?c/SD |
| |
| /abc(?C255)de(?C)f/D |
| |
| /abcde/CD |
| abcde |
| abcdfe |
| |
| /a*b/CD |
| ab |
| aaaab |
| aaaacb |
| |
| /a+b/CD |
| ab |
| aaaab |
| aaaacb |
| |
| /(abc|def)x/CD |
| abcx |
| defx |
| abcdefzx |
| |
| /(ab|cd){3,4}/C |
| ababab |
| abcdabcd |
| abcdcdcdcdcd |
| |
| /([ab]{,4}c|xy)/CD |
| Note: that { does NOT introduce a quantifier |
| |
| /([ab]{1,4}c|xy){4,5}?123/CD |
| aacaacaacaacaac123 |
| |
| /\b.*/I |
| ab cd\>1 |
| |
| /\b.*/Is |
| ab cd\>1 |
| |
| /(?!.bcd).*/I |
| Xbcd12345 |
| |
| /abcde/ |
| ab\P |
| abc\P |
| abcd\P |
| abcde\P |
| the quick brown abc\P |
| ** Failers\P |
| the quick brown abxyz fox\P |
| |
| "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$" |
| 13/05/04\P |
| 13/5/2004\P |
| 02/05/09\P |
| 1\P |
| 1/2\P |
| 1/2/0\P |
| 1/2/04\P |
| 0\P |
| 02/\P |
| 02/0\P |
| 02/1\P |
| ** Failers\P |
| \P |
| 123\P |
| 33/4/04\P |
| 3/13/04\P |
| 0/1/2003\P |
| 0/\P |
| 02/0/\P |
| 02/13\P |
| |
| /0{0,2}ABC/I |
| |
| /\d{3,}ABC/I |
| |
| /\d*ABC/I |
| |
| /[abc]+DE/I |
| |
| /[abc]?123/ |
| 123\P |
| a\P |
| b\P |
| c\P |
| c12\P |
| c123\P |
| |
| /^(?:\d){3,5}X/ |
| 1\P |
| 123\P |
| 123X |
| 1234\P |
| 1234X |
| 12345\P |
| 12345X |
| *** Failers |
| 1X |
| 123456\P |
| |
| /abc/>testsavedregex |
| <testsavedregex |
| abc |
| ** Failers |
| bca |
| |
| /abc/F>testsavedregex |
| <testsavedregex |
| abc |
| ** Failers |
| bca |
| |
| /(a|b)/S>testsavedregex |
| <testsavedregex |
| abc |
| ** Failers |
| def |
| |
| /(a|b)/SF>testsavedregex |
| <testsavedregex |
| abc |
| ** Failers |
| def |
| |
| ~<(\w+)/?>(.)*</(\1)>~smg |
| <!DOCTYPE seite SYSTEM "http://www.lco.lineas.de/xmlCms.dtd">\n<seite>\n<dokumenteninformation>\n<seitentitel>Partner der LCO</seitentitel>\n<sprache>de</sprache>\n<seitenbeschreibung>Partner der LINEAS Consulting\nGmbH</seitenbeschreibung>\n<schluesselworte>LINEAS Consulting GmbH Hamburg\nPartnerfirmen</schluesselworte>\n<revisit>30 days</revisit>\n<robots>index,follow</robots>\n<menueinformation>\n<aktiv>ja</aktiv>\n<menueposition>3</menueposition>\n<menuetext>Partner</menuetext>\n</menueinformation>\n<lastedited>\n<autor>LCO</autor>\n<firma>LINEAS Consulting</firma>\n<datum>15.10.2003</datum>\n</lastedited>\n</dokumenteninformation>\n<inhalt>\n\n<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\nGmbH</absatzueberschrift>\n\n<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\n<bild name="logo_ca.gif" rahmen="no"/></link> <link\nziel="http://www.ey.com/" zielfenster="_blank"><bild\nname="logo_euy.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\n<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\n\n<absatz><link ziel="http://www.atelion.de/"\nzielfenster="_blank"><bild\nname="logo_atelion.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.line-information.de/"\nzielfenster="_blank">\n<bild name="logo_line_information.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\n\n<absatz><link ziel="http://www.incognis.de/"\nzielfenster="_blank"><bild\nname="logo_incognis.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.addcraft.com/"\nzielfenster="_blank"><bild\nname="logo_addcraft.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.comendo.com/"\nzielfenster="_blank"><bild\nname="logo_comendo.gif" rahmen="no"/></link></absatz>\n\n</inhalt>\n</seite> |
| |
| /^a/IF |
| |
| / End of testinput2 / |