testinput3
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:17k
源码类别:

生物技术

开发平台:

C/C++

  1. /(?<!bar)foo/
  2.     foo
  3.     catfood
  4.     arfootle
  5.     rfoosh
  6.     *** Failers
  7.     barfoo
  8.     towbarfoo
  9. /w{3}(?<!bar)foo/
  10.     catfood
  11.     *** Failers
  12.     foo
  13.     barfoo
  14.     towbarfoo
  15. /(?<=(foo)a)bar/
  16.     fooabar
  17.     *** Failers
  18.     bar
  19.     foobbar
  20.       
  21. /Aabcz/m
  22.     abc
  23.     *** Failers
  24.     abcn   
  25.     qqqnabc
  26.     abcnzzz
  27.     qqqnabcnzzz
  28. "(?>.*/)foo"
  29.     /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/it/you/see/
  30. "(?>.*/)foo"
  31.     /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo
  32. /(?>(.dd[1-9]?))d+/
  33.     1.230003938
  34.     1.875000282
  35.     *** Failers 
  36.     1.235 
  37. /^((?>w+)|(?>s+))*$/
  38.     now is the time for all good men to come to the aid of the party
  39.     *** Failers
  40.     this is not a line with only words and spaces!
  41.     
  42. /(d+)(w)/
  43.     12345a
  44.     12345+ 
  45. /((?>d+))(w)/
  46.     12345a
  47.     *** Failers
  48.     12345+ 
  49. /(?>a+)b/
  50.     aaab
  51. /((?>a+)b)/
  52.     aaab
  53. /(?>(a+))b/
  54.     aaab
  55. /(?>b)+/
  56.     aaabbbccc
  57. /(?>a+|b+|c+)*c/
  58.     aaabbbbccccd
  59. /((?>[^()]+)|([^()]*))+/
  60.     ((abc(ade)ufh()()x
  61.     
  62. /(((?>[^()]+)|([^()]+))+)/ 
  63.     (abc)
  64.     (abc(def)xyz)
  65.     *** Failers
  66.     ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa   
  67. /a(?-i)b/i
  68.     ab
  69.     *** Failers 
  70.     Ab
  71.     aB
  72.     AB
  73.         
  74. /(a (?x)b c)d e/
  75.     a bcd e
  76.     *** Failers
  77.     a b cd e
  78.     abcd e   
  79.     a bcde 
  80.  
  81. /(a b(?x)c d (?-x)e f)/
  82.     a bcde f
  83.     *** Failers
  84.     abcdef  
  85. /(a(?i)b)c/
  86.     abc
  87.     aBc
  88.     *** Failers
  89.     abC
  90.     aBC  
  91.     Abc
  92.     ABc
  93.     ABC
  94.     AbC
  95.     
  96. /a(?i:b)c/
  97.     abc
  98.     aBc
  99.     *** Failers 
  100.     ABC
  101.     abC
  102.     aBC
  103.     
  104. /a(?i:b)*c/
  105.     aBc
  106.     aBBc
  107.     *** Failers 
  108.     aBC
  109.     aBBC
  110.     
  111. /a(?=b(?i)c)wwd/
  112.     abcd
  113.     abCd
  114.     *** Failers
  115.     aBCd
  116.     abcD     
  117.     
  118. /(?s-i:more.*than).*million/i
  119.     more than million
  120.     more than MILLION
  121.     more n than Million 
  122.     *** Failers
  123.     MORE THAN MILLION    
  124.     more n than n million 
  125. /(?:(?s-i)more.*than).*million/i
  126.     more than million
  127.     more than MILLION
  128.     more n than Million 
  129.     *** Failers
  130.     MORE THAN MILLION    
  131.     more n than n million 
  132.     
  133. /(?>a(?i)b+)+c/ 
  134.     abc
  135.     aBbc
  136.     aBBc 
  137.     *** Failers
  138.     Abc
  139.     abAb    
  140.     abbC 
  141.     
  142. /(?=a(?i)b)wwc/
  143.     abc
  144.     aBc
  145.     *** Failers
  146.     Ab 
  147.     abC
  148.     aBC     
  149.     
  150. /(?<=a(?i)b)(ww)c/
  151.     abxxc
  152.     aBxxc
  153.     *** Failers
  154.     Abxxc
  155.     ABxxc
  156.     abxxC      
  157. /(?:(a)|b)(?(1)A|B)/
  158.     aA
  159.     bB
  160.     *** Failers
  161.     aB
  162.     bA    
  163. /^(a)?(?(1)a|b)+$/
  164.     aa
  165.     b
  166.     bb  
  167.     *** Failers
  168.     ab   
  169. /^(?(?=abc)w{3}:|dd)$/
  170.     abc:
  171.     12
  172.     *** Failers
  173.     123
  174.     xyz    
  175. /^(?(?!abc)dd|w{3}:)$/
  176.     abc:
  177.     12
  178.     *** Failers
  179.     123
  180.     xyz    
  181.     
  182. /(?(?<=foo)bar|cat)/
  183.     foobar
  184.     cat
  185.     fcat
  186.     focat   
  187.     *** Failers
  188.     foocat  
  189. /(?(?<!foo)cat|bar)/
  190.     foobar
  191.     cat
  192.     fcat
  193.     focat   
  194.     *** Failers
  195.     foocat  
  196. /( ( )? [^()]+ (?(1) ) |) /x
  197.     abcd
  198.     (abcd)
  199.     the quick (abcd) fox
  200.     (abcd   
  201. /( ( )? [^()]+ (?(1) ) ) /x
  202.     abcd
  203.     (abcd)
  204.     the quick (abcd) fox
  205.     (abcd   
  206. /^(?(2)a|(1)(2))+$/
  207.     12
  208.     12a
  209.     12aa
  210.     *** Failers
  211.     1234    
  212. /((?i)blah)s+1/
  213.     blah blah
  214.     BLAH BLAH
  215.     Blah Blah
  216.     blaH blaH
  217.     *** Failers
  218.     blah BLAH
  219.     Blah blah      
  220.     blaH blah 
  221. /((?i)blah)s+(?i:1)/
  222.     blah blah
  223.     BLAH BLAH
  224.     Blah Blah
  225.     blaH blaH
  226.     blah BLAH
  227.     Blah blah      
  228.     blaH blah 
  229. /(?>a*)*/
  230.     a
  231.     aa
  232.     aaaa
  233.     
  234. /(abc|)+/
  235.     abc
  236.     abcabc
  237.     abcabcabc
  238.     xyz      
  239. /([a]*)*/
  240.     a
  241.     aaaaa 
  242.  
  243. /([ab]*)*/
  244.     a
  245.     b
  246.     ababab
  247.     aaaabcde
  248.     bbbb    
  249.  
  250. /([^a]*)*/
  251.     b
  252.     bbbb
  253.     aaa   
  254.  
  255. /([^ab]*)*/
  256.     cccc
  257.     abab  
  258.  
  259. /([a]*?)*/
  260.     a
  261.     aaaa 
  262.  
  263. /([ab]*?)*/
  264.     a
  265.     b
  266.     abab
  267.     baba   
  268.  
  269. /([^a]*?)*/
  270.     b
  271.     bbbb
  272.     aaa   
  273.  
  274. /([^ab]*?)*/
  275.     c
  276.     cccc
  277.     baba   
  278.  
  279. /(?>a*)*/
  280.     a
  281.     aaabcde 
  282.  
  283. /((?>a*))*/
  284.     aaaaa
  285.     aabbaa 
  286.  
  287. /((?>a*?))*/
  288.     aaaaa
  289.     aabbaa 
  290. /(?(?=[^a-z]+[a-z])  d{2}-[a-z]{3}-d{2}  |  d{2}-d{2}-d{2} ) /x
  291.     12-sep-98
  292.     12-09-98
  293.     *** Failers
  294.     sep-12-98
  295.         
  296. /(?<=(foo))bar1/
  297.     foobarfoo
  298.     foobarfootling 
  299.     *** Failers
  300.     foobar
  301.     barfoo   
  302. /(?i:saturday|sunday)/
  303.     saturday
  304.     sunday
  305.     Saturday
  306.     Sunday
  307.     SATURDAY
  308.     SUNDAY
  309.     SunDay
  310.     
  311. /(a(?i)bc|BB)x/
  312.     abcx
  313.     aBCx
  314.     bbx
  315.     BBx
  316.     *** Failers
  317.     abcX
  318.     aBCX
  319.     bbX
  320.     BBX               
  321. /^([ab](?i)[cd]|[ef])/
  322.     ac
  323.     aC
  324.     bD
  325.     elephant
  326.     Europe 
  327.     frog
  328.     France
  329.     *** Failers
  330.     Africa     
  331. /^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)/
  332.     ab
  333.     aBd
  334.     xy
  335.     xY
  336.     zebra
  337.     Zambesi
  338.     *** Failers
  339.     aCD  
  340.     XY  
  341. /(?<=foon)^bar/m
  342.     foonbar
  343.     *** Failers
  344.     bar
  345.     baznbar   
  346. /(?<=(?<!foo)bar)baz/
  347.     barbaz
  348.     barbarbaz 
  349.     koobarbaz 
  350.     *** Failers
  351.     baz
  352.     foobarbaz 
  353. /The case of aaaaaa is missed out below because I think Perl 5.005_02 gets/
  354. /it wrong; it sets $1 to aaa rather than aa. Compare the following test,/
  355. /where it does set $1 to aa when matching aaaaaa./
  356. /^(a1?){4}$/
  357.     a
  358.     aa
  359.     aaa
  360.     aaaa
  361.     aaaaa
  362.     aaaaaaa
  363.     aaaaaaaa
  364.     aaaaaaaaa
  365.     aaaaaaaaaa
  366.     aaaaaaaaaaa
  367.     aaaaaaaaaaaa
  368.     aaaaaaaaaaaaa
  369.     aaaaaaaaaaaaaa
  370.     aaaaaaaaaaaaaaa
  371.     aaaaaaaaaaaaaaaa               
  372. /^(a1?)(a1?)(a2?)(a3?)$/
  373.     a
  374.     aa
  375.     aaa
  376.     aaaa
  377.     aaaaa
  378.     aaaaaa
  379.     aaaaaaa
  380.     aaaaaaaa
  381.     aaaaaaaaa
  382.     aaaaaaaaaa
  383.     aaaaaaaaaaa
  384.     aaaaaaaaaaaa
  385.     aaaaaaaaaaaaa
  386.     aaaaaaaaaaaaaa
  387.     aaaaaaaaaaaaaaa
  388.     aaaaaaaaaaaaaaaa               
  389. /The following tests are taken from the Perl 5.005 test suite; some of them/
  390. /are compatible with 5.004, but I'd rather not have to sort them out./
  391. /abc/
  392.     abc
  393.     xabcy
  394.     ababc
  395.     *** Failers
  396.     xbc
  397.     axc
  398.     abx
  399. /ab*c/
  400.     abc
  401. /ab*bc/
  402.     abc
  403.     abbc
  404.     abbbbc
  405. /.{1}/
  406.     abbbbc
  407. /.{3,4}/
  408.     abbbbc
  409. /ab{0,}bc/
  410.     abbbbc
  411. /ab+bc/
  412.     abbc
  413.     *** Failers
  414.     abc
  415.     abq
  416. /ab{1,}bc/
  417. /ab+bc/
  418.     abbbbc
  419. /ab{1,}bc/
  420.     abbbbc
  421. /ab{1,3}bc/
  422.     abbbbc
  423. /ab{3,4}bc/
  424.     abbbbc
  425. /ab{4,5}bc/
  426.     *** Failers
  427.     abq
  428.     abbbbc
  429. /ab?bc/
  430.     abbc
  431.     abc
  432. /ab{0,1}bc/
  433.     abc
  434. /ab?bc/
  435. /ab?c/
  436.     abc
  437. /ab{0,1}c/
  438.     abc
  439. /^abc$/
  440.     abc
  441.     *** Failers
  442.     abbbbc
  443.     abcc
  444. /^abc/
  445.     abcc
  446. /^abc$/
  447. /abc$/
  448.     aabc
  449.     *** Failers
  450.     aabc
  451.     aabcd
  452. /^/
  453.     abc
  454. /$/
  455.     abc
  456. /a.c/
  457.     abc
  458.     axc
  459. /a.*c/
  460.     axyzc
  461. /a[bc]d/
  462.     abd
  463.     *** Failers
  464.     axyzd
  465.     abc
  466. /a[b-d]e/
  467.     ace
  468. /a[b-d]/
  469.     aac
  470. /a[-b]/
  471.     a-
  472. /a[b-]/
  473.     a-
  474. /a]/
  475.     a]
  476. /a[]]b/
  477.     a]b
  478. /a[^bc]d/
  479.     aed
  480.     *** Failers
  481.     abd
  482.     abd
  483. /a[^-b]c/
  484.     adc
  485. /a[^]b]c/
  486.     adc
  487.     *** Failers
  488.     a-c
  489.     a]c
  490. /bab/
  491.     a-
  492.     -a
  493.     -a-
  494. /byb/
  495.     *** Failers
  496.     xy
  497.     yz
  498.     xyz
  499. /BaB/
  500.     *** Failers
  501.     a-
  502.     -a
  503.     -a-
  504. /Byb/
  505.     xy
  506. /byB/
  507.     yz
  508. /ByB/
  509.     xyz
  510. /w/
  511.     a
  512. /W/
  513.     -
  514.     *** Failers
  515.     -
  516.     a
  517. /asb/
  518.     a b
  519. /aSb/
  520.     a-b
  521.     *** Failers
  522.     a-b
  523.     a b
  524. /d/
  525.     1
  526. /D/
  527.     -
  528.     *** Failers
  529.     -
  530.     1
  531. /[w]/
  532.     a
  533. /[W]/
  534.     -
  535.     *** Failers
  536.     -
  537.     a
  538. /a[s]b/
  539.     a b
  540. /a[S]b/
  541.     a-b
  542.     *** Failers
  543.     a-b
  544.     a b
  545. /[d]/
  546.     1
  547. /[D]/
  548.     -
  549.     *** Failers
  550.     -
  551.     1
  552. /ab|cd/
  553.     abc
  554.     abcd
  555. /()ef/
  556.     def
  557. /$b/
  558. /a(b/
  559.     a(b
  560. /a(*b/
  561.     ab
  562.     a((b
  563. /a\b/
  564.     ab
  565. /((a))/
  566.     abc
  567. /(a)b(c)/
  568.     abc
  569. /a+b+c/
  570.     aabbabc
  571. /a{1,}b{1,}c/
  572.     aabbabc
  573. /a.+?c/
  574.     abcabc
  575. /(a+|b)*/
  576.     ab
  577. /(a+|b){0,}/
  578.     ab
  579. /(a+|b)+/
  580.     ab
  581. /(a+|b){1,}/
  582.     ab
  583. /(a+|b)?/
  584.     ab
  585. /(a+|b){0,1}/
  586.     ab
  587. /[^ab]*/
  588.     cde
  589. /abc/
  590.     *** Failers
  591.     b
  592.     
  593. /a*/
  594.     
  595. /([abc])*d/
  596.     abbbcd
  597. /([abc])*bcd/
  598.     abcd
  599. /a|b|c|d|e/
  600.     e
  601. /(a|b|c|d|e)f/
  602.     ef
  603. /abcd*efg/
  604.     abcdefg
  605. /ab*/
  606.     xabyabbbz
  607.     xayabbbz
  608. /(ab|cd)e/
  609.     abcde
  610. /[abhgefdc]ij/
  611.     hij
  612. /^(ab|cd)e/
  613. /(abc|)ef/
  614.     abcdef
  615. /(a|b)c*d/
  616.     abcd
  617. /(ab|ab*)bc/
  618.     abc
  619. /a([bc]*)c*/
  620.     abc
  621. /a([bc]*)(c*d)/
  622.     abcd
  623. /a([bc]+)(c*d)/
  624.     abcd
  625. /a([bc]*)(c+d)/
  626.     abcd
  627. /a[bcd]*dcdcde/
  628.     adcdcde
  629. /a[bcd]+dcdcde/
  630.     *** Failers
  631.     abcde
  632.     adcdcde
  633. /(ab|a)b*c/
  634.     abc
  635. /((a)(b)c)(d)/
  636.     abcd
  637. /[a-zA-Z_][a-zA-Z0-9_]*/
  638.     alpha
  639. /^a(bc+|b[eh])g|.h$/
  640.     abh
  641. /(bc+d$|ef*g.|h?i(j|k))/
  642.     effgz
  643.     ij
  644.     reffgz
  645.     *** Failers
  646.     effg
  647.     bcdd
  648. /((((((((((a))))))))))/
  649.     a
  650. /((((((((((a))))))))))10/
  651.     aa
  652. /(((((((((a)))))))))/
  653.     a
  654. /multiple words of text/
  655.     *** Failers
  656.     aa
  657.     uh-uh
  658. /multiple words/
  659.     multiple words, yeah
  660. /(.*)c(.*)/
  661.     abcde
  662. /((.*), (.*))/
  663.     (a, b)
  664. /[k]/
  665. /abcd/
  666.     abcd
  667. /a(bc)d/
  668.     abcd
  669. /a[-]?c/
  670.     ac
  671. /(abc)1/
  672.     abcabc
  673. /([a-c]*)1/
  674.     abcabc
  675. /(a)|1/
  676.     a
  677.     *** Failers
  678.     ab
  679.     x
  680. /(([a-c])b*?2)*/
  681.     ababbbcbc
  682. /(([a-c])b*?2){3}/
  683.     ababbbcbc
  684. /((3|b)2(a)x)+/
  685.     aaaxabaxbaaxbbax
  686. /((3|b)2(a)){2,}/
  687.     bbaababbabaaaaabbaaaabba
  688. /abc/i
  689.     ABC
  690.     XABCY
  691.     ABABC
  692.     *** Failers
  693.     aaxabxbaxbbx
  694.     XBC
  695.     AXC
  696.     ABX
  697. /ab*c/i
  698.     ABC
  699. /ab*bc/i
  700.     ABC
  701.     ABBC
  702. /ab*?bc/i
  703.     ABBBBC
  704. /ab{0,}?bc/i
  705.     ABBBBC
  706. /ab+?bc/i
  707.     ABBC
  708. /ab+bc/i
  709.     *** Failers
  710.     ABC
  711.     ABQ
  712. /ab{1,}bc/i
  713. /ab+bc/i
  714.     ABBBBC
  715. /ab{1,}?bc/i
  716.     ABBBBC
  717. /ab{1,3}?bc/i
  718.     ABBBBC
  719. /ab{3,4}?bc/i
  720.     ABBBBC
  721. /ab{4,5}?bc/i
  722.     *** Failers
  723.     ABQ
  724.     ABBBBC
  725. /ab??bc/i
  726.     ABBC
  727.     ABC
  728. /ab{0,1}?bc/i
  729.     ABC
  730. /ab??bc/i
  731. /ab??c/i
  732.     ABC
  733. /ab{0,1}?c/i
  734.     ABC
  735. /^abc$/i
  736.     ABC
  737.     *** Failers
  738.     ABBBBC
  739.     ABCC
  740. /^abc/i
  741.     ABCC
  742. /^abc$/i
  743. /abc$/i
  744.     AABC
  745. /^/i
  746.     ABC
  747. /$/i
  748.     ABC
  749. /a.c/i
  750.     ABC
  751.     AXC
  752. /a.*?c/i
  753.     AXYZC
  754. /a.*c/i
  755.     *** Failers
  756.     AABC
  757.     AXYZD
  758. /a[bc]d/i
  759.     ABD
  760. /a[b-d]e/i
  761.     ACE
  762.     *** Failers
  763.     ABC
  764.     ABD
  765. /a[b-d]/i
  766.     AAC
  767. /a[-b]/i
  768.     A-
  769. /a[b-]/i
  770.     A-
  771. /a]/i
  772.     A]
  773. /a[]]b/i
  774.     A]B
  775. /a[^bc]d/i
  776.     AED
  777. /a[^-b]c/i
  778.     ADC
  779.     *** Failers
  780.     ABD
  781.     A-C
  782. /a[^]b]c/i
  783.     ADC
  784. /ab|cd/i
  785.     ABC
  786.     ABCD
  787. /()ef/i
  788.     DEF
  789. /$b/i
  790.     *** Failers
  791.     A]C
  792.     B
  793. /a(b/i
  794.     A(B
  795. /a(*b/i
  796.     AB
  797.     A((B
  798. /a\b/i
  799.     AB
  800. /((a))/i
  801.     ABC
  802. /(a)b(c)/i
  803.     ABC
  804. /a+b+c/i
  805.     AABBABC
  806. /a{1,}b{1,}c/i
  807.     AABBABC
  808. /a.+?c/i
  809.     ABCABC
  810. /a.*?c/i
  811.     ABCABC
  812. /a.{0,5}?c/i
  813.     ABCABC
  814. /(a+|b)*/i
  815.     AB
  816. /(a+|b){0,}/i
  817.     AB
  818. /(a+|b)+/i
  819.     AB
  820. /(a+|b){1,}/i
  821.     AB
  822. /(a+|b)?/i
  823.     AB
  824. /(a+|b){0,1}/i
  825.     AB
  826. /(a+|b){0,1}?/i
  827.     AB
  828. /[^ab]*/i
  829.     CDE
  830. /abc/i
  831. /a*/i
  832.     
  833. /([abc])*d/i
  834.     ABBBCD
  835. /([abc])*bcd/i
  836.     ABCD
  837. /a|b|c|d|e/i
  838.     E
  839. /(a|b|c|d|e)f/i
  840.     EF
  841. /abcd*efg/i
  842.     ABCDEFG
  843. /ab*/i
  844.     XABYABBBZ
  845.     XAYABBBZ
  846. /(ab|cd)e/i
  847.     ABCDE
  848. /[abhgefdc]ij/i
  849.     HIJ
  850. /^(ab|cd)e/i
  851.     ABCDE
  852. /(abc|)ef/i
  853.     ABCDEF
  854. /(a|b)c*d/i
  855.     ABCD
  856. /(ab|ab*)bc/i
  857.     ABC
  858. /a([bc]*)c*/i
  859.     ABC
  860. /a([bc]*)(c*d)/i
  861.     ABCD
  862. /a([bc]+)(c*d)/i
  863.     ABCD
  864. /a([bc]*)(c+d)/i
  865.     ABCD
  866. /a[bcd]*dcdcde/i
  867.     ADCDCDE
  868. /a[bcd]+dcdcde/i
  869. /(ab|a)b*c/i
  870.     ABC
  871. /((a)(b)c)(d)/i
  872.     ABCD
  873. /[a-zA-Z_][a-zA-Z0-9_]*/i
  874.     ALPHA
  875. /^a(bc+|b[eh])g|.h$/i
  876.     ABH
  877. /(bc+d$|ef*g.|h?i(j|k))/i
  878.     EFFGZ
  879.     IJ
  880.     REFFGZ
  881.     *** Failers
  882.     ADCDCDE
  883.     EFFG
  884.     BCDD
  885. /((((((((((a))))))))))/i
  886.     A
  887. /((((((((((a))))))))))10/i
  888.     AA
  889. /(((((((((a)))))))))/i
  890.     A
  891. /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))/i
  892.     A
  893. /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/i
  894.     C
  895. /multiple words of text/i
  896.     *** Failers
  897.     AA
  898.     UH-UH
  899. /multiple words/i
  900.     MULTIPLE WORDS, YEAH
  901. /(.*)c(.*)/i
  902.     ABCDE
  903. /((.*), (.*))/i
  904.     (A, B)
  905. /[k]/i
  906. /abcd/i
  907.     ABCD
  908. /a(bc)d/i
  909.     ABCD
  910. /a[-]?c/i
  911.     AC
  912. /(abc)1/i
  913.     ABCABC
  914. /([a-c]*)1/i
  915.     ABCABC
  916. /a(?!b)./
  917.     abad
  918. /a(?=d)./
  919.     abad
  920. /a(?=c|d)./
  921.     abad
  922. /a(?:b|c|d)(.)/
  923.     ace
  924. /a(?:b|c|d)*(.)/
  925.     ace
  926. /a(?:b|c|d)+?(.)/
  927.     ace
  928.     acdbcdbe
  929. /a(?:b|c|d)+(.)/
  930.     acdbcdbe
  931. /a(?:b|c|d){2}(.)/
  932.     acdbcdbe
  933. /a(?:b|c|d){4,5}(.)/
  934.     acdbcdbe
  935. /a(?:b|c|d){4,5}?(.)/
  936.     acdbcdbe
  937. /((foo)|(bar))*/
  938.     foobar
  939. /a(?:b|c|d){6,7}(.)/
  940.     acdbcdbe
  941. /a(?:b|c|d){6,7}?(.)/
  942.     acdbcdbe
  943. /a(?:b|c|d){5,6}(.)/
  944.     acdbcdbe
  945. /a(?:b|c|d){5,6}?(.)/
  946.     acdbcdbe
  947. /a(?:b|c|d){5,7}(.)/
  948.     acdbcdbe
  949. /a(?:b|c|d){5,7}?(.)/
  950.     acdbcdbe
  951. /a(?:b|(c|e){1,2}?|d)+?(.)/
  952.     ace
  953. /^(.+)?B/
  954.     AB
  955. /^([^a-z])|(^)$/
  956.     .
  957. /^[<>]&/
  958.     <&OUT
  959. /^(a1?){4}$/
  960.     aaaaaaaaaa
  961.     *** Failers
  962.     AB
  963.     aaaaaaaaa
  964.     aaaaaaaaaaa
  965. /^(a(?(1)1)){4}$/
  966.     aaaaaaaaaa
  967.     *** Failers
  968.     aaaaaaaaa
  969.     aaaaaaaaaaa
  970. /(?:(f)(o)(o)|(b)(a)(r))*/
  971.     foobar
  972. /(?<=a)b/
  973.     ab
  974.     *** Failers
  975.     cb
  976.     b
  977. /(?<!c)b/
  978.     ab
  979.     b
  980.     b
  981. /(?:..)*a/
  982.     aba
  983. /(?:..)*?a/
  984.     aba
  985. /^(?:b|a(?=(.)))*1/
  986.     abc
  987. /^(){3,5}/
  988.     abc
  989. /^(a+)*ax/
  990.     aax
  991. /^((a|b)+)*ax/
  992.     aax
  993. /^((a|bc)+)*ax/
  994.     aax
  995. /(a|x)*ab/
  996.     cab
  997. /(a)*ab/
  998.     cab
  999. /(?:(?i)a)b/
  1000.     ab
  1001. /((?i)a)b/
  1002.     ab
  1003. /(?:(?i)a)b/
  1004.     Ab
  1005. /((?i)a)b/
  1006.     Ab
  1007. /(?:(?i)a)b/
  1008.     *** Failers
  1009.     cb
  1010.     aB
  1011. /((?i)a)b/
  1012. /(?i:a)b/
  1013.     ab
  1014. /((?i:a))b/
  1015.     ab
  1016. /(?i:a)b/
  1017.     Ab
  1018. /((?i:a))b/
  1019.     Ab
  1020. /(?i:a)b/
  1021.     *** Failers
  1022.     aB
  1023.     aB
  1024. /((?i:a))b/
  1025. /(?:(?-i)a)b/i
  1026.     ab
  1027. /((?-i)a)b/i
  1028.     ab
  1029. /(?:(?-i)a)b/i
  1030.     aB
  1031. /((?-i)a)b/i
  1032.     aB
  1033. /(?:(?-i)a)b/i
  1034.     *** Failers
  1035.     aB
  1036.     Ab
  1037. /((?-i)a)b/i
  1038. /(?:(?-i)a)b/i
  1039.     aB
  1040. /((?-i)a)b/i
  1041.     aB
  1042. /(?:(?-i)a)b/i
  1043.     *** Failers
  1044.     Ab
  1045.     AB
  1046. /((?-i)a)b/i
  1047. /(?-i:a)b/i
  1048.     ab
  1049. /((?-i:a))b/i
  1050.     ab
  1051. /(?-i:a)b/i
  1052.     aB
  1053. /((?-i:a))b/i
  1054.     aB
  1055. /(?-i:a)b/i
  1056.     *** Failers
  1057.     AB
  1058.     Ab
  1059. /((?-i:a))b/i
  1060. /(?-i:a)b/i
  1061.     aB
  1062. /((?-i:a))b/i
  1063.     aB
  1064. /(?-i:a)b/i
  1065.     *** Failers
  1066.     Ab
  1067.     AB
  1068. /((?-i:a))b/i
  1069. /((?-i:a.))b/i
  1070.     *** Failers
  1071.     AB
  1072.     anB
  1073. /((?s-i:a.))b/i
  1074.     anB
  1075. /(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))/
  1076.     cabbbb
  1077. /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/
  1078.     caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
  1079. /(ab)d1/i
  1080.     Ab4ab
  1081.     ab4Ab
  1082. /foow*d{4}baz/
  1083.     foobar1234baz
  1084. /x(~~)*(?:(?:F)?)?/
  1085.     x~~
  1086. /^a(?#xxx){3}c/
  1087.     aaac
  1088. /^a (?#xxx) (?#yyy) {3}c/x
  1089.     aaac
  1090. /(?<![cd])b/
  1091.     *** Failers
  1092.     BnB
  1093.     dbcb
  1094. /(?<![cd])[ab]/
  1095.     dbaacb
  1096. /(?<!(c|d))b/
  1097. /(?<!(c|d))[ab]/
  1098.     dbaacb
  1099. /(?<!cd)[ab]/
  1100.     cdaccb
  1101. /^(?:a?b?)*$/
  1102.     *** Failers
  1103.     dbcb
  1104.     a--
  1105. /((?s)^a(.))((?m)^b$)/
  1106.     anbncn
  1107. /((?m)^b$)/
  1108.     anbncn
  1109. /(?m)^b/
  1110.     anbn
  1111. /(?m)^(b)/
  1112.     anbn
  1113. /((?m)^b)/
  1114.     anbn
  1115. /n((?m)^b)/
  1116.     anbn
  1117. /((?s).)c(?!.)/
  1118.     anbncn
  1119.     anbncn
  1120. /((?s)b.)c(?!.)/
  1121.     anbncn
  1122.     anbncn
  1123. /^b/
  1124. /()^b/
  1125.     *** Failers
  1126.     anbncn
  1127.     anbncn
  1128. /((?m)^b)/
  1129.     anbncn
  1130. /(?(1)a|b)/
  1131. /(?(1)b|a)/
  1132.     a
  1133. /(x)?(?(1)a|b)/
  1134.     *** Failers
  1135.     a
  1136.     a
  1137. /(x)?(?(1)b|a)/
  1138.     a
  1139. /()?(?(1)b|a)/
  1140.     a
  1141. /()(?(1)b|a)/
  1142. /()?(?(1)a|b)/
  1143.     a
  1144. /^(()?blah(?(1)()))$/
  1145.     (blah)
  1146.     blah
  1147.     *** Failers
  1148.     a
  1149.     blah)
  1150.     (blah
  1151. /^((+)?blah(?(1)()))$/
  1152.     (blah)
  1153.     blah
  1154.     *** Failers
  1155.     blah)
  1156.     (blah
  1157. /(?(?!a)a|b)/
  1158. /(?(?!a)b|a)/
  1159.     a
  1160. /(?(?=a)b|a)/
  1161.     *** Failers
  1162.     a
  1163.     a
  1164. /(?(?=a)a|b)/
  1165.     a
  1166. /(?=(a+?))(1ab)/
  1167.     aaab
  1168. /^(?=(a+?))1ab/
  1169. /(w+:)+/
  1170.     one:
  1171. /$(?<=^(a))/
  1172.     a
  1173. /(?=(a+?))(1ab)/
  1174.     aaab
  1175. /^(?=(a+?))1ab/
  1176.     *** Failers
  1177.     aaab
  1178.     aaab
  1179. /([w:]+::)?(w+)$/
  1180.     abcd
  1181.     xy:z:::abcd
  1182. /^[^bcd]*(c+)/
  1183.     aexycd
  1184. /(a*)b+/
  1185.     caab
  1186. /([w:]+::)?(w+)$/
  1187.     abcd
  1188.     xy:z:::abcd
  1189.     *** Failers
  1190.     abcd:
  1191.     abcd:
  1192. /^[^bcd]*(c+)/
  1193.     aexycd
  1194. /(>a+)ab/
  1195. /(?>a+)b/
  1196.     aaab
  1197. /([[:]+)/
  1198.     a:[b]:
  1199. /([[=]+)/
  1200.     a=[b]=
  1201. /([[.]+)/
  1202.     a.[b].
  1203. /((?>a+)b)/
  1204.     aaab
  1205. /(?>(a+))b/
  1206.     aaab
  1207. /((?>[^()]+)|([^()]*))+/
  1208.     ((abc(ade)ufh()()x
  1209. /aZ/
  1210.     *** Failers
  1211.     aaab
  1212.     anbn
  1213. /bZ/
  1214.     anbn
  1215. /bz/
  1216. /bZ/
  1217.     anb
  1218. /bz/
  1219.     anb
  1220.     *** Failers
  1221.     
  1222. /^(?>(?(1).|())[^W_](?>[a-z0-9-]*[^W_])?)+$/
  1223.     a
  1224.     abc
  1225.     a-b
  1226.     0-9 
  1227.     a.b
  1228.     5.6.7  
  1229.     the.quick.brown.fox
  1230.     a100.b200.300c  
  1231.     12-ab.1245 
  1232.     ***Failers
  1233.     
  1234.     .a
  1235.     -a
  1236.     a-
  1237.     a.  
  1238.     a_b 
  1239.     a.-
  1240.     a..  
  1241.     ab..bc 
  1242.     the.quick.brown.fox-
  1243.     the.quick.brown.fox.
  1244.     the.quick.brown.fox_
  1245.     the.quick.brown.fox+       
  1246. /(?>.*)(?<=(abcd|wxyz))/
  1247.     alphabetabcd
  1248.     endingwxyz
  1249.     *** Failers
  1250.     a rather long string that doesn't end with one of them
  1251. /word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword/
  1252.     word cat dog elephant mussel cow horse canary baboon snake shark otherword
  1253.     word cat dog elephant mussel cow horse canary baboon snake shark
  1254.   
  1255. /word (?>[a-zA-Z0-9]+ ){0,30}otherword/
  1256.     word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope
  1257. /(?<=d{3}(?!999))foo/
  1258.     999foo
  1259.     123999foo 
  1260.     *** Failers
  1261.     123abcfoo
  1262.     
  1263. /(?<=(?!...999)d{3})foo/
  1264.     999foo
  1265.     123999foo 
  1266.     *** Failers
  1267.     123abcfoo
  1268. /(?<=d{3}(?!999)...)foo/
  1269.     123abcfoo
  1270.     123456foo 
  1271.     *** Failers
  1272.     123999foo  
  1273.     
  1274. /(?<=d{3}...)(?<!999)foo/
  1275.     123abcfoo   
  1276.     123456foo 
  1277.     *** Failers
  1278.     123999foo  
  1279. /<a[s]+href[s]*=[s]*          # find <a href=
  1280.  (["'])?                       # find single or double quote
  1281.  (?(1) (.*?)1 | ([^s]+))       # if quote found, match up to next matching
  1282.                                  # quote, otherwise match up to next space
  1283. /isx
  1284.     <a href=abcd xyz
  1285.     <a href="abcd xyz pqr" cats
  1286.     <a href='abcd xyz pqr' cats
  1287. /<as+hrefs*=s*                # find <a href=
  1288.  (["'])?                         # find single or double quote
  1289.  (?(1) (.*?)1 | (S+))          # if quote found, match up to next matching
  1290.                                  # quote, otherwise match up to next space
  1291. /isx
  1292.     <a href=abcd xyz
  1293.     <a href="abcd xyz pqr" cats
  1294.     <a href       =       'abcd xyz pqr' cats
  1295. /<as+href(?>s*)=(?>s*)        # find <a href=
  1296.  (["'])?                         # find single or double quote
  1297.  (?(1) (.*?)1 | (S+))          # if quote found, match up to next matching
  1298.                                  # quote, otherwise match up to next space
  1299. /isx
  1300.     <a href=abcd xyz
  1301.     <a href="abcd xyz pqr" cats
  1302.     <a href       =       'abcd xyz pqr' cats
  1303. /((Z)+|A)*/
  1304.     ZABCDEFG
  1305. /(Z()|A)*/
  1306.     ZABCDEFG
  1307. /(Z(())|A)*/
  1308.     ZABCDEFG
  1309. /((?>Z)+|A)*/
  1310.     ZABCDEFG
  1311. /((?>)+|A)*/
  1312.     ZABCDEFG
  1313. /a*/g
  1314.     abbab
  1315. /^[a-d]/
  1316.     abcde
  1317.     -things
  1318.     0digit
  1319.     *** Failers
  1320.     bcdef    
  1321. /^[d-a]/
  1322.     abcde
  1323.     -things
  1324.     0digit
  1325.     *** Failers
  1326.     bcdef    
  1327. / End of testinput3 /