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

生物技术

开发平台:

C/C++

  1. PCRE version 3.9 02-Jan-2002
  2. /(a)b|/
  3. Capturing subpattern count = 1
  4. No options
  5. No first char
  6. No need char
  7. /abc/
  8. Capturing subpattern count = 0
  9. No options
  10. First char = 'a'
  11. Need char = 'c'
  12.     abc
  13.  0: abc
  14.     defabc
  15.  0: abc
  16.     Aabc
  17.  0: abc
  18.     *** Failers
  19. No match
  20.     Adefabc
  21. No match
  22.     ABC
  23. No match
  24. /^abc/
  25. Capturing subpattern count = 0
  26. Options: anchored
  27. No first char
  28. Need char = 'c'
  29.     abc
  30.  0: abc
  31.     Aabc
  32.  0: abc
  33.     *** Failers
  34. No match
  35.     defabc
  36. No match
  37.     Adefabc
  38. No match
  39. /a+bc/
  40. Capturing subpattern count = 0
  41. No options
  42. First char = 'a'
  43. Need char = 'c'
  44. /a*bc/
  45. Capturing subpattern count = 0
  46. No options
  47. No first char
  48. Need char = 'c'
  49. /a{3}bc/
  50. Capturing subpattern count = 0
  51. No options
  52. First char = 'a'
  53. Need char = 'c'
  54. /(abc|a+z)/
  55. Capturing subpattern count = 1
  56. No options
  57. First char = 'a'
  58. No need char
  59. /^abc$/
  60. Capturing subpattern count = 0
  61. Options: anchored
  62. No first char
  63. Need char = 'c'
  64.     abc
  65.  0: abc
  66.     *** Failers
  67. No match
  68.     defnabc
  69. No match
  70. /abgdef/X
  71. Failed: unrecognized character follows  at offset 3
  72. /(?X)abgdef/X
  73. Failed: unrecognized character follows  at offset 7
  74. /x{5,4}/
  75. Failed: numbers out of order in {} quantifier at offset 5
  76. /z{65536}/
  77. Failed: number too big in {} quantifier at offset 7
  78. /[abcd/
  79. Failed: missing terminating ] for character class at offset 5
  80. /[B]/
  81. Failed: invalid escape sequence in character class at offset 2
  82. /[z-a]/
  83. Failed: range out of order in character class at offset 3
  84. /^*/
  85. Failed: nothing to repeat at offset 1
  86. /(abc/
  87. Failed: missing ) at offset 4
  88. /(?# abc/
  89. Failed: missing ) after comment at offset 7
  90. /(?z)abc/
  91. Failed: unrecognized character after (? at offset 2
  92. /.*b/
  93. Capturing subpattern count = 0
  94. No options
  95. First char at start or follows n
  96. Need char = 'b'
  97. /.*?b/
  98. Capturing subpattern count = 0
  99. No options
  100. First char at start or follows n
  101. Need char = 'b'
  102. /cat|dog|elephant/
  103. Capturing subpattern count = 0
  104. No options
  105. No first char
  106. No need char
  107.     this sentence eventually mentions a cat
  108.  0: cat
  109.     this sentences rambles on and on for a while and then reaches elephant
  110.  0: elephant
  111. /cat|dog|elephant/S
  112. Capturing subpattern count = 0
  113. No options
  114. No first char
  115. No need char
  116. Starting character set: c d e 
  117.     this sentence eventually mentions a cat
  118.  0: cat
  119.     this sentences rambles on and on for a while and then reaches elephant
  120.  0: elephant
  121. /cat|dog|elephant/iS
  122. Capturing subpattern count = 0
  123. Options: caseless
  124. No first char
  125. No need char
  126. Starting character set: C D E c d e 
  127.     this sentence eventually mentions a CAT cat
  128.  0: CAT
  129.     this sentences rambles on and on for a while to elephant ElePhant
  130.  0: elephant
  131. /a|[bcd]/S
  132. Capturing subpattern count = 0
  133. No options
  134. No first char
  135. No need char
  136. Starting character set: a b c d 
  137. /(a|[^dZ])/S
  138. Capturing subpattern count = 1
  139. No options
  140. No first char
  141. No need char
  142. Starting character set: x00 x01 x02 x03 x04 x05 x06 x07 x08 x09 x0a 
  143.   x0b x0c x0d x0e x0f x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 
  144.   x1a x1b x1c x1d x1e x1f x20 ! " # $ % & ' ( ) * + , - . / : ; < = > 
  145.   ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y [  ] ^ _ ` a b c d 
  146.   e f g h i j k l m n o p q r s t u v w x y z { | } ~ x7f x80 x81 x82 x83 
  147.   x84 x85 x86 x87 x88 x89 x8a x8b x8c x8d x8e x8f x90 x91 x92 
  148.   x93 x94 x95 x96 x97 x98 x99 x9a x9b x9c x9d x9e x9f xa0 xa1 
  149.   xa2 xa3 xa4 xa5 xa6 xa7 xa8 xa9 xaa xab xac xad xae xaf xb0 
  150.   xb1 xb2 xb3 xb4 xb5 xb6 xb7 xb8 xb9 xba xbb xbc xbd xbe xbf 
  151.   xc0 xc1 xc2 xc3 xc4 xc5 xc6 xc7 xc8 xc9 xca xcb xcc xcd xce 
  152.   xcf xd0 xd1 xd2 xd3 xd4 xd5 xd6 xd7 xd8 xd9 xda xdb xdc xdd 
  153.   xde xdf xe0 xe1 xe2 xe3 xe4 xe5 xe6 xe7 xe8 xe9 xea xeb xec 
  154.   xed xee xef xf0 xf1 xf2 xf3 xf4 xf5 xf6 xf7 xf8 xf9 xfa xfb 
  155.   xfc xfd xfe xff 
  156. /(a|b)*[s]/S
  157. Capturing subpattern count = 1
  158. No options
  159. No first char
  160. No need char
  161. Starting character set: x09 x0a x0b x0c x0d x20 a b 
  162. /(ab2)/
  163. Failed: back reference to non-existent subpattern at offset 6
  164. /{4,5}abc/
  165. Failed: nothing to repeat at offset 4
  166. /(a)(b)(c)2/
  167. Capturing subpattern count = 3
  168. Max back reference = 2
  169. No options
  170. First char = 'a'
  171. Need char = 'c'
  172.     abcb
  173.  0: abcb
  174.  1: a
  175.  2: b
  176.  3: c
  177.     O0abcb
  178. Matched, but too many substrings
  179.     O3abcb
  180. Matched, but too many substrings
  181.  0: abcb
  182.     O6abcb
  183. Matched, but too many substrings
  184.  0: abcb
  185.  1: a
  186.     O9abcb
  187. Matched, but too many substrings
  188.  0: abcb
  189.  1: a
  190.  2: b
  191.     O12abcb 
  192.  0: abcb
  193.  1: a
  194.  2: b
  195.  3: c
  196. /(a)bc|(a)(b)2/
  197. Capturing subpattern count = 3
  198. Max back reference = 2
  199. No options
  200. First char = 'a'
  201. No need char
  202.     abc
  203.  0: abc
  204.  1: a
  205.     O0abc
  206. Matched, but too many substrings
  207.     O3abc
  208. Matched, but too many substrings
  209.  0: abc
  210.     O6abc
  211.  0: abc
  212.  1: a
  213.     aba
  214.  0: aba
  215.  1: <unset>
  216.  2: a
  217.  3: b
  218.     O0aba
  219. Matched, but too many substrings
  220.     O3aba
  221. Matched, but too many substrings
  222.  0: aba
  223.     O6aba
  224. Matched, but too many substrings
  225.  0: aba
  226.  1: <unset>
  227.     O9aba
  228. Matched, but too many substrings
  229.  0: aba
  230.  1: <unset>
  231.  2: a
  232.     O12aba
  233.  0: aba
  234.  1: <unset>
  235.  2: a
  236.  3: b
  237. /abc$/E
  238. Capturing subpattern count = 0
  239. Options: dollar_endonly
  240. First char = 'a'
  241. Need char = 'c'
  242.     abc
  243.  0: abc
  244.     *** Failers
  245. No match
  246.     abcn
  247. No match
  248.     abcndef
  249. No match
  250. /(a)(b)(c)(d)(e)6/
  251. Failed: back reference to non-existent subpattern at offset 17
  252. /the quick brown fox/
  253. Capturing subpattern count = 0
  254. No options
  255. First char = 't'
  256. Need char = 'x'
  257.     the quick brown fox
  258.  0: the quick brown fox
  259.     this is a line with the quick brown fox
  260.  0: the quick brown fox
  261. /the quick brown fox/A
  262. Capturing subpattern count = 0
  263. Options: anchored
  264. No first char
  265. Need char = 'x'
  266.     the quick brown fox
  267.  0: the quick brown fox
  268.     *** Failers
  269. No match
  270.     this is a line with the quick brown fox
  271. No match
  272. /ab(?z)cd/
  273. Failed: unrecognized character after (? at offset 4
  274. /^abc|def/
  275. Capturing subpattern count = 0
  276. No options
  277. No first char
  278. No need char
  279.     abcdef
  280.  0: abc
  281.     abcdefB
  282.  0: def
  283. /.*((abc)$|(def))/
  284. Capturing subpattern count = 3
  285. No options
  286. First char at start or follows n
  287. No need char
  288.     defabc
  289.  0: defabc
  290.  1: abc
  291.  2: abc
  292.     Zdefabc
  293.  0: def
  294.  1: def
  295.  2: <unset>
  296.  3: def
  297. /abc/P
  298.     abc
  299.  0: abc
  300.     *** Failers
  301. No match: POSIX code 17: match failed
  302.     
  303. /^abc|def/P
  304.     abcdef
  305.  0: abc
  306.     abcdefB
  307.  0: def
  308. /.*((abc)$|(def))/P
  309.     defabc
  310.  0: defabc
  311.  1: abc
  312.  2: abc
  313.     Zdefabc
  314.  0: def
  315.  1: def
  316.  3: def
  317.   
  318. /the quick brown fox/P
  319.     the quick brown fox
  320.  0: the quick brown fox
  321.     *** Failers 
  322. No match: POSIX code 17: match failed
  323.     The Quick Brown Fox 
  324. No match: POSIX code 17: match failed
  325. /the quick brown fox/Pi
  326.     the quick brown fox
  327.  0: the quick brown fox
  328.     The Quick Brown Fox 
  329.  0: The Quick Brown Fox
  330. /abc.def/P
  331.     *** Failers
  332. No match: POSIX code 17: match failed
  333.     abcndef
  334. No match: POSIX code 17: match failed
  335.     
  336. /abc$/P
  337.     abc
  338.  0: abc
  339.     abcn 
  340.  0: abc
  341. /(abc)2/P
  342. Failed: POSIX code 15: bad back reference at offset 7     
  343. /(abc1)/P
  344.     abc
  345. No match: POSIX code 17: match failed
  346. /)/
  347. Failed: unmatched parentheses at offset 0
  348. /a[]b/
  349. Failed: missing terminating ] for character class at offset 4
  350. /[^aeiou ]{3,}/
  351. Capturing subpattern count = 0
  352. No options
  353. No first char
  354. No need char
  355.     co-processors, and for 
  356.  0: -pr
  357.     
  358. /<.*>/
  359. Capturing subpattern count = 0
  360. No options
  361. First char = '<'
  362. Need char = '>'
  363.     abc<def>ghi<klm>nop
  364.  0: <def>ghi<klm>
  365. /<.*?>/
  366. Capturing subpattern count = 0
  367. No options
  368. First char = '<'
  369. Need char = '>'
  370.     abc<def>ghi<klm>nop
  371.  0: <def>
  372. /<.*>/U
  373. Capturing subpattern count = 0
  374. Options: ungreedy
  375. First char = '<'
  376. Need char = '>'
  377.     abc<def>ghi<klm>nop
  378.  0: <def>
  379.     
  380. /<.*>(?U)/
  381. Capturing subpattern count = 0
  382. Options: ungreedy
  383. First char = '<'
  384. Need char = '>'
  385.     abc<def>ghi<klm>nop
  386.  0: <def>
  387. /<.*?>/U
  388. Capturing subpattern count = 0
  389. Options: ungreedy
  390. First char = '<'
  391. Need char = '>'
  392.     abc<def>ghi<klm>nop
  393.  0: <def>ghi<klm>
  394.     
  395. /={3,}/U
  396. Capturing subpattern count = 0
  397. Options: ungreedy
  398. First char = '='
  399. Need char = '='
  400.     abc========def
  401.  0: ===
  402.     
  403. /(?U)={3,}?/
  404. Capturing subpattern count = 0
  405. Options: ungreedy
  406. First char = '='
  407. Need char = '='
  408.     abc========def
  409.  0: ========
  410.     
  411. /(?<!bar|cattle)foo/
  412. Capturing subpattern count = 0
  413. No options
  414. First char = 'f'
  415. Need char = 'o'
  416.     foo
  417.  0: foo
  418.     catfoo 
  419.  0: foo
  420.     *** Failers
  421. No match
  422.     the barfoo
  423. No match
  424.     and cattlefoo   
  425. No match
  426. /(?<=a+)b/
  427. Failed: lookbehind assertion is not fixed length at offset 6
  428. /(?<=aaa|b{0,3})b/
  429. Failed: lookbehind assertion is not fixed length at offset 14
  430. /(?<!(foo)a1)bar/
  431. Failed: lookbehind assertion is not fixed length at offset 12
  432. /(?i)abc/
  433. Capturing subpattern count = 0
  434. Options: caseless
  435. First char = 'a'
  436. Need char = 'c'
  437. /(a|(?m)a)/
  438. Capturing subpattern count = 1
  439. No options
  440. First char = 'a'
  441. No need char
  442. /(?i)^1234/
  443. Capturing subpattern count = 0
  444. Options: anchored caseless
  445. No first char
  446. Need char = '4'
  447. /(^b|(?i)^d)/
  448. Capturing subpattern count = 1
  449. Options: anchored
  450. Case state changes
  451. No first char
  452. No need char
  453. /(?s).*/
  454. Capturing subpattern count = 0
  455. Options: anchored dotall
  456. No first char
  457. No need char
  458. /[abcd]/S
  459. Capturing subpattern count = 0
  460. No options
  461. No first char
  462. No need char
  463. Starting character set: a b c d 
  464. /(?i)[abcd]/S
  465. Capturing subpattern count = 0
  466. Options: caseless
  467. No first char
  468. No need char
  469. Starting character set: A B C D a b c d 
  470. /(?m)[xy]|(b|c)/S
  471. Capturing subpattern count = 1
  472. Options: multiline
  473. No first char
  474. No need char
  475. Starting character set: b c x y 
  476. /(^a|^b)/m
  477. Capturing subpattern count = 1
  478. Options: multiline
  479. First char at start or follows n
  480. No need char
  481. /(?i)(^a|^b)/m
  482. Capturing subpattern count = 1
  483. Options: caseless multiline
  484. First char at start or follows n
  485. No need char
  486. /(a)(?(1)a|b|c)/
  487. Failed: conditional group contains more than two branches at offset 13
  488. /(?(?=a)a|b|c)/
  489. Failed: conditional group contains more than two branches at offset 12
  490. /(?(1a)/
  491. Failed: malformed number after (?( at offset 4
  492. /(?(?i))/
  493. Failed: assertion expected after (?( at offset 3
  494. /(?(abc))/
  495. Failed: assertion expected after (?( at offset 3
  496. /(?(?<ab))/
  497. Failed: unrecognized character after (?< at offset 2
  498. /((?s)blah)s+1/
  499. Capturing subpattern count = 1
  500. Max back reference = 1
  501. No options
  502. First char = 'b'
  503. Need char = 'h'
  504. /((?i)blah)s+1/
  505. Capturing subpattern count = 1
  506. Max back reference = 1
  507. No options
  508. Case state changes
  509. No first char
  510. Need char = 'h'
  511. /((?i)b)/DS
  512. ------------------------------------------------------------------
  513.   0  16 Bra 0
  514.   3   8 Bra 1
  515.   6  01 Opt
  516.   8   1 b
  517.  11   8 Ket
  518.  14  00 Opt
  519.  16  16 Ket
  520.  19     End
  521. ------------------------------------------------------------------
  522. Capturing subpattern count = 1
  523. No options
  524. Case state changes
  525. No first char
  526. Need char = 'b'
  527. Starting character set: B b 
  528. /(a*b|(?i:c*(?-i)d))/S
  529. Capturing subpattern count = 1
  530. No options
  531. Case state changes
  532. No first char
  533. No need char
  534. Starting character set: C a b c d 
  535. /a$/
  536. Capturing subpattern count = 0
  537. No options
  538. First char = 'a'
  539. No need char
  540.     a
  541.  0: a
  542.     an
  543.  0: a
  544.     *** Failers 
  545. No match
  546.     Za
  547. No match
  548.     Zan   
  549. No match
  550. /a$/m
  551. Capturing subpattern count = 0
  552. Options: multiline
  553. First char = 'a'
  554. No need char
  555.     a
  556.  0: a
  557.     an
  558.  0: a
  559.     Zan   
  560.  0: a
  561.     *** Failers 
  562. No match
  563.     Za
  564. No match
  565.     
  566. /Aabc/m
  567. Capturing subpattern count = 0
  568. Options: anchored multiline
  569. No first char
  570. Need char = 'c'
  571. /^abc/m 
  572. Capturing subpattern count = 0
  573. Options: multiline
  574. First char at start or follows n
  575. Need char = 'c'
  576. /^((a+)(?U)([ab]+)(?-U)([bc]+)(w*))/
  577. Capturing subpattern count = 5
  578. Options: anchored
  579. No first char
  580. Need char = 'a'
  581.   aaaaabbbbbcccccdef
  582.  0: aaaaabbbbbcccccdef
  583.  1: aaaaabbbbbcccccdef
  584.  2: aaaaa
  585.  3: b
  586.  4: bbbbccccc
  587.  5: def
  588. /(?<=foo)[ab]/S
  589. Capturing subpattern count = 0
  590. No options
  591. No first char
  592. No need char
  593. Starting character set: a b 
  594. /(?<!foo)(alpha|omega)/S
  595. Capturing subpattern count = 1
  596. No options
  597. No first char
  598. Need char = 'a'
  599. Starting character set: a o 
  600. /(?!alphabet)[ab]/S
  601. Capturing subpattern count = 0
  602. No options
  603. No first char
  604. No need char
  605. Starting character set: a b 
  606. /(?<=foon)^bar/m
  607. Capturing subpattern count = 0
  608. Options: multiline
  609. First char at start or follows n
  610. Need char = 'r'
  611. /(?>^abc)/m
  612. Capturing subpattern count = 0
  613. Options: multiline
  614. First char at start or follows n
  615. Need char = 'c'
  616.     abc
  617.  0: abc
  618.     defnabc
  619.  0: abc
  620.     *** Failers
  621. No match
  622.     defabc   
  623. No match
  624. /(?<=ab(c+)d)ef/
  625. Failed: lookbehind assertion is not fixed length at offset 11
  626. /(?<=ab(?<=c+)d)ef/
  627. Failed: lookbehind assertion is not fixed length at offset 12
  628. /(?<=ab(c|de)f)g/
  629. Failed: lookbehind assertion is not fixed length at offset 13
  630. /The next three are in testinput2 because they have variable length branches/
  631. Capturing subpattern count = 0
  632. No options
  633. First char = 'T'
  634. Need char = 's'
  635. /(?<=bullock|donkey)-cart/
  636. Capturing subpattern count = 0
  637. No options
  638. First char = '-'
  639. Need char = 't'
  640.     the bullock-cart
  641.  0: -cart
  642.     a donkey-cart race
  643.  0: -cart
  644.     *** Failers
  645. No match
  646.     cart
  647. No match
  648.     horse-and-cart    
  649. No match
  650.       
  651. /(?<=ab(?i)x|y|z)/
  652. Capturing subpattern count = 0
  653. No options
  654. Case state changes
  655. No first char
  656. No need char
  657. /(?>.*)(?<=(abcd)|(xyz))/
  658. Capturing subpattern count = 2
  659. No options
  660. First char at start or follows n
  661. No need char
  662.     alphabetabcd
  663.  0: alphabetabcd
  664.  1: abcd
  665.     endingxyz
  666.  0: endingxyz
  667.  1: <unset>
  668.  2: xyz
  669. /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/
  670. Capturing subpattern count = 0
  671. No options
  672. Case state changes
  673. First char = 'Z'
  674. Need char = 'Z'
  675.     abxyZZ
  676.  0: ZZ
  677.     abXyZZ
  678.  0: ZZ
  679.     ZZZ
  680.  0: ZZ
  681.     zZZ
  682.  0: ZZ
  683.     bZZ
  684.  0: ZZ
  685.     BZZ     
  686.  0: ZZ
  687.     *** Failers
  688. No match
  689.     ZZ 
  690. No match
  691.     abXYZZ 
  692. No match
  693.     zzz
  694. No match
  695.     bzz  
  696. No match
  697. /(?<!(foo)a)bar/
  698. Capturing subpattern count = 1
  699. No options
  700. First char = 'b'
  701. Need char = 'r'
  702.     bar
  703.  0: bar
  704.     foobbar 
  705.  0: bar
  706.     *** Failers
  707. No match
  708.     fooabar  
  709. No match
  710. /This one is here because Perl 5.005_02 doesn't fail it/
  711. Capturing subpattern count = 0
  712. No options
  713. First char = 'T'
  714. Need char = 't'
  715. /^(a)?(?(1)a|b)+$/
  716. Capturing subpattern count = 1
  717. Options: anchored
  718. No first char
  719. No need char
  720.     *** Failers
  721. No match
  722.     a 
  723. No match
  724. /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/
  725. Capturing subpattern count = 0
  726. No options
  727. First char = 'T'
  728. Need char = 'g'
  729. /^(a1?){4}$/
  730. Capturing subpattern count = 1
  731. Max back reference = 1
  732. Options: anchored
  733. No first char
  734. Need char = 'a'
  735.     aaaaaa
  736.  0: aaaaaa
  737.  1: aa
  738.     
  739. /These are syntax tests from Perl 5.005/
  740. Capturing subpattern count = 0
  741. No options
  742. First char = 'T'
  743. Need char = '5'
  744. /a[b-a]/
  745. Failed: range out of order in character class at offset 4
  746. /a[]b/
  747. Failed: missing terminating ] for character class at offset 4
  748. /a[/
  749. Failed: missing terminating ] for character class at offset 2
  750. /*a/
  751. Failed: nothing to repeat at offset 0
  752. /(*)b/
  753. Failed: nothing to repeat at offset 1
  754. /abc)/
  755. Failed: unmatched parentheses at offset 3
  756. /(abc/
  757. Failed: missing ) at offset 4
  758. /a**/
  759. Failed: nothing to repeat at offset 2
  760. /)(/
  761. Failed: unmatched parentheses at offset 0
  762. /1/
  763. Failed: back reference to non-existent subpattern at offset 2
  764. /2/
  765. Failed: back reference to non-existent subpattern at offset 2
  766. /(a)|2/
  767. Failed: back reference to non-existent subpattern at offset 6
  768. /a[b-a]/i
  769. Failed: range out of order in character class at offset 4
  770. /a[]b/i
  771. Failed: missing terminating ] for character class at offset 4
  772. /a[/i
  773. Failed: missing terminating ] for character class at offset 2
  774. /*a/i
  775. Failed: nothing to repeat at offset 0
  776. /(*)b/i
  777. Failed: nothing to repeat at offset 1
  778. /abc)/i
  779. Failed: unmatched parentheses at offset 3
  780. /(abc/i
  781. Failed: missing ) at offset 4
  782. /a**/i
  783. Failed: nothing to repeat at offset 2
  784. /)(/i
  785. Failed: unmatched parentheses at offset 0
  786. /:(?:/
  787. Failed: missing ) at offset 4
  788. /(?<%)b/
  789. Failed: unrecognized character after (?< at offset 0
  790. /a(?{)b/
  791. Failed: unrecognized character after (? at offset 3
  792. /a(?{{})b/
  793. Failed: unrecognized character after (? at offset 3
  794. /a(?{}})b/
  795. Failed: unrecognized character after (? at offset 3
  796. /a(?{"{"})b/
  797. Failed: unrecognized character after (? at offset 3
  798. /a(?{"{"}})b/
  799. Failed: unrecognized character after (? at offset 3
  800. /(?(1?)a|b)/
  801. Failed: malformed number after (?( at offset 4
  802. /(?(1)a|b|c)/
  803. Failed: conditional group contains more than two branches at offset 10
  804. /[a[:xyz:/
  805. Failed: missing terminating ] for character class at offset 8
  806. /(?<=x+)y/
  807. Failed: lookbehind assertion is not fixed length at offset 6
  808. /a{37,17}/
  809. Failed: numbers out of order in {} quantifier at offset 7
  810. /abc/
  811. Failed:  at end of pattern at offset 4
  812. /abc/P
  813. Failed: POSIX code 9: bad escape sequence at offset 4     
  814. /abc/i
  815. Failed:  at end of pattern at offset 4
  816. /(a)bc(d)/
  817. Capturing subpattern count = 2
  818. No options
  819. First char = 'a'
  820. Need char = 'd'
  821.     abcd
  822.  0: abcd
  823.  1: a
  824.  2: d
  825.     abcdC2
  826.  0: abcd
  827.  1: a
  828.  2: d
  829.  2C d (1)
  830.     abcdC5
  831.  0: abcd
  832.  1: a
  833.  2: d
  834. copy substring 5 failed -7
  835.      
  836. /(.{20})/
  837. Capturing subpattern count = 1
  838. No options
  839. No first char
  840. No need char
  841.     abcdefghijklmnopqrstuvwxyz
  842.  0: abcdefghijklmnopqrst
  843.  1: abcdefghijklmnopqrst
  844.     abcdefghijklmnopqrstuvwxyzC1
  845.  0: abcdefghijklmnopqrst
  846.  1: abcdefghijklmnopqrst
  847. copy substring 1 failed -6
  848.     abcdefghijklmnopqrstuvwxyzG1
  849.  0: abcdefghijklmnopqrst
  850.  1: abcdefghijklmnopqrst
  851.  1G abcdefghijklmnopqrst (20)
  852.      
  853. /(.{15})/
  854. Capturing subpattern count = 1
  855. No options
  856. No first char
  857. No need char
  858.     abcdefghijklmnopqrstuvwxyz
  859.  0: abcdefghijklmno
  860.  1: abcdefghijklmno
  861.     abcdefghijklmnopqrstuvwxyzC1G1
  862.  0: abcdefghijklmno
  863.  1: abcdefghijklmno
  864.  1C abcdefghijklmno (15)
  865.  1G abcdefghijklmno (15)
  866. /(.{16})/
  867. Capturing subpattern count = 1
  868. No options
  869. No first char
  870. No need char
  871.     abcdefghijklmnopqrstuvwxyz
  872.  0: abcdefghijklmnop
  873.  1: abcdefghijklmnop
  874.     abcdefghijklmnopqrstuvwxyzC1G1L
  875.  0: abcdefghijklmnop
  876.  1: abcdefghijklmnop
  877. copy substring 1 failed -6
  878.  1G abcdefghijklmnop (16)
  879.  0L abcdefghijklmnop
  880.  1L abcdefghijklmnop
  881.     
  882. /^(a|(bc))de(f)/
  883. Capturing subpattern count = 3
  884. Options: anchored
  885. No first char
  886. Need char = 'f'
  887.     adefG1G2G3G4L 
  888.  0: adef
  889.  1: a
  890.  2: <unset>
  891.  3: f
  892.  1G a (1)
  893.  2G  (0)
  894.  3G f (1)
  895. get substring 4 failed -7
  896.  0L adef
  897.  1L a
  898.  2L 
  899.  3L f
  900.     bcdefG1G2G3G4L 
  901.  0: bcdef
  902.  1: bc
  903.  2: bc
  904.  3: f
  905.  1G bc (2)
  906.  2G bc (2)
  907.  3G f (1)
  908. get substring 4 failed -7
  909.  0L bcdef
  910.  1L bc
  911.  2L bc
  912.  3L f
  913.     adefghijkC0 
  914.  0: adef
  915.  1: a
  916.  2: <unset>
  917.  3: f
  918.  0C adef (4)
  919.     
  920. /^abc0def/
  921. Capturing subpattern count = 0
  922. Options: anchored
  923. No first char
  924. Need char = 'f'
  925.     abc0defLC0 
  926.  0: abcx00def
  927.  0C abc (7)
  928.  0L abc
  929.     
  930. /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ 
  931. )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ 
  932. )?)?)?)?)?)?)?)?)?otherword/M
  933. Memory allocation (code space): 428
  934. Capturing subpattern count = 8
  935. No options
  936. First char = 'w'
  937. Need char = 'd'
  938. /.*X/D
  939. ------------------------------------------------------------------
  940.   0   8 Bra 0
  941.   3     Any*
  942.   5   1 X
  943.   8   8 Ket
  944.  11     End
  945. ------------------------------------------------------------------
  946. Capturing subpattern count = 0
  947. No options
  948. First char at start or follows n
  949. Need char = 'X'
  950. /.*X/Ds
  951. ------------------------------------------------------------------
  952.   0   8 Bra 0
  953.   3     Any*
  954.   5   1 X
  955.   8   8 Ket
  956.  11     End
  957. ------------------------------------------------------------------
  958. Capturing subpattern count = 0
  959. Options: anchored dotall
  960. No first char
  961. Need char = 'X'
  962. /(.*X|^B)/D
  963. ------------------------------------------------------------------
  964.   0  21 Bra 0
  965.   3   8 Bra 1
  966.   6     Any*
  967.   8   1 X
  968.  11   7 Alt
  969.  14     ^
  970.  15   1 B
  971.  18  15 Ket
  972.  21  21 Ket
  973.  24     End
  974. ------------------------------------------------------------------
  975. Capturing subpattern count = 1
  976. No options
  977. First char at start or follows n
  978. No need char
  979. /(.*X|^B)/Ds
  980. ------------------------------------------------------------------
  981.   0  21 Bra 0
  982.   3   8 Bra 1
  983.   6     Any*
  984.   8   1 X
  985.  11   7 Alt
  986.  14     ^
  987.  15   1 B
  988.  18  15 Ket
  989.  21  21 Ket
  990.  24     End
  991. ------------------------------------------------------------------
  992. Capturing subpattern count = 1
  993. Options: anchored dotall
  994. No first char
  995. No need char
  996.     
  997. /(?s)(.*X|^B)/D
  998. ------------------------------------------------------------------
  999.   0  21 Bra 0
  1000.   3   8 Bra 1
  1001.   6     Any*
  1002.   8   1 X
  1003.  11   7 Alt
  1004.  14     ^
  1005.  15   1 B
  1006.  18  15 Ket
  1007.  21  21 Ket
  1008.  24     End
  1009. ------------------------------------------------------------------
  1010. Capturing subpattern count = 1
  1011. Options: anchored dotall
  1012. No first char
  1013. No need char
  1014. /(?s:.*X|^B)/D
  1015. ------------------------------------------------------------------
  1016.   0  27 Bra 0
  1017.   3  10 Bra 0
  1018.   6  04 Opt
  1019.   8     Any*
  1020.  10   1 X
  1021.  13   9 Alt
  1022.  16  04 Opt
  1023.  18     ^
  1024.  19   1 B
  1025.  22  19 Ket
  1026.  25  00 Opt
  1027.  27  27 Ket
  1028.  30     End
  1029. ------------------------------------------------------------------
  1030. Capturing subpattern count = 0
  1031. No options
  1032. First char at start or follows n
  1033. No need char
  1034. /BissB/+
  1035. Capturing subpattern count = 0
  1036. No options
  1037. First char = 'i'
  1038. Need char = 's'
  1039.     Mississippi
  1040.  0: iss
  1041.  0+ issippi
  1042. /BissB/+P
  1043.     Mississippi
  1044.  0: iss
  1045.  0+ issippi
  1046. /iss/G+
  1047. Capturing subpattern count = 0
  1048. No options
  1049. First char = 'i'
  1050. Need char = 's'
  1051.     Mississippi
  1052.  0: iss
  1053.  0+ issippi
  1054.  0: iss
  1055.  0+ ippi
  1056. /BissB/G+
  1057. Capturing subpattern count = 0
  1058. No options
  1059. First char = 'i'
  1060. Need char = 's'
  1061.     Mississippi
  1062.  0: iss
  1063.  0+ issippi
  1064. /BissB/g+
  1065. Capturing subpattern count = 0
  1066. No options
  1067. First char = 'i'
  1068. Need char = 's'
  1069.     Mississippi
  1070.  0: iss
  1071.  0+ issippi
  1072.  0: iss
  1073.  0+ ippi
  1074.     *** Failers
  1075. No match
  1076.     MississippiA
  1077. No match
  1078. /(?<=[Ms])iss/g+
  1079. Capturing subpattern count = 0
  1080. No options
  1081. First char = 'i'
  1082. Need char = 's'
  1083.     Mississippi
  1084.  0: iss
  1085.  0+ issippi
  1086.  0: iss
  1087.  0+ ippi
  1088. /(?<=[Ms])iss/G+
  1089. Capturing subpattern count = 0
  1090. No options
  1091. First char = 'i'
  1092. Need char = 's'
  1093.     Mississippi
  1094.  0: iss
  1095.  0+ issippi
  1096. /^iss/g+
  1097. Capturing subpattern count = 0
  1098. Options: anchored
  1099. No first char
  1100. Need char = 's'
  1101.     ississippi
  1102.  0: iss
  1103.  0+ issippi
  1104.     
  1105. /.*iss/g+
  1106. Capturing subpattern count = 0
  1107. No options
  1108. First char at start or follows n
  1109. Need char = 's'
  1110.     abcissnxyzisspqr 
  1111.  0: abciss
  1112.  0+ x0axyzisspqr
  1113.  0: xyziss
  1114.  0+ pqr
  1115. /.i./+g
  1116. Capturing subpattern count = 0
  1117. No options
  1118. No first char
  1119. Need char = 'i'
  1120.     Mississippi
  1121.  0: Mis
  1122.  0+ sissippi
  1123.  0: sis
  1124.  0+ sippi
  1125.  0: sip
  1126.  0+ pi
  1127.     MississippiA
  1128.  0: Mis
  1129.  0+ sissippi
  1130.  0: sis
  1131.  0+ sippi
  1132.  0: sip
  1133.  0+ pi
  1134.     Missouri river
  1135.  0: Mis
  1136.  0+ souri river
  1137.  0: ri 
  1138.  0+ river
  1139.  0: riv
  1140.  0+ er
  1141.     Missouri riverA  
  1142.  0: Mis
  1143.  0+ souri river
  1144. /^.is/+g
  1145. Capturing subpattern count = 0
  1146. Options: anchored
  1147. No first char
  1148. Need char = 's'
  1149.     Mississippi
  1150.  0: Mis
  1151.  0+ sissippi
  1152. /^abn/g+
  1153. Capturing subpattern count = 0
  1154. Options: anchored
  1155. No first char
  1156. Need char = 10
  1157.     abnabncd
  1158.  0: abx0a
  1159.  0+ abx0acd
  1160. /^abn/mg+
  1161. Capturing subpattern count = 0
  1162. Options: multiline
  1163. First char at start or follows n
  1164. Need char = 10
  1165.     abnabncd
  1166.  0: abx0a
  1167.  0+ abx0acd
  1168.  0: abx0a
  1169.  0+ cd
  1170. /abc/
  1171. Capturing subpattern count = 0
  1172. No options
  1173. First char = 'a'
  1174. Need char = 'c'
  1175. /abc|bac/
  1176. Capturing subpattern count = 0
  1177. No options
  1178. No first char
  1179. Need char = 'c'
  1180. /(abc|bac)/
  1181. Capturing subpattern count = 1
  1182. No options
  1183. No first char
  1184. Need char = 'c'
  1185. /(abc|(c|dc))/
  1186. Capturing subpattern count = 2
  1187. No options
  1188. No first char
  1189. Need char = 'c'
  1190. /(abc|(d|de)c)/
  1191. Capturing subpattern count = 2
  1192. No options
  1193. No first char
  1194. Need char = 'c'
  1195. /a*/
  1196. Capturing subpattern count = 0
  1197. No options
  1198. No first char
  1199. No need char
  1200. /a+/
  1201. Capturing subpattern count = 0
  1202. No options
  1203. First char = 'a'
  1204. No need char
  1205. /(baa|a+)/
  1206. Capturing subpattern count = 1
  1207. No options
  1208. No first char
  1209. Need char = 'a'
  1210. /a{0,3}/
  1211. Capturing subpattern count = 0
  1212. No options
  1213. No first char
  1214. No need char
  1215. /baa{3,}/
  1216. Capturing subpattern count = 0
  1217. No options
  1218. First char = 'b'
  1219. Need char = 'a'
  1220. /"([^\"]+|\.)*"/
  1221. Capturing subpattern count = 1
  1222. No options
  1223. First char = '"'
  1224. Need char = '"'
  1225. /(abc|ab[cd])/
  1226. Capturing subpattern count = 1
  1227. No options
  1228. First char = 'a'
  1229. No need char
  1230. /(a|.)/
  1231. Capturing subpattern count = 1
  1232. No options
  1233. No first char
  1234. No need char
  1235. /a|ba|w/
  1236. Capturing subpattern count = 0
  1237. No options
  1238. No first char
  1239. No need char
  1240. /abc(?=pqr)/
  1241. Capturing subpattern count = 0
  1242. No options
  1243. First char = 'a'
  1244. Need char = 'r'
  1245. /...(?<=abc)/
  1246. Capturing subpattern count = 0
  1247. No options
  1248. No first char
  1249. No need char
  1250. /abc(?!pqr)/
  1251. Capturing subpattern count = 0
  1252. No options
  1253. First char = 'a'
  1254. Need char = 'c'
  1255. /ab./
  1256. Capturing subpattern count = 0
  1257. No options
  1258. First char = 'a'
  1259. Need char = 'b'
  1260. /ab[xyz]/
  1261. Capturing subpattern count = 0
  1262. No options
  1263. First char = 'a'
  1264. Need char = 'b'
  1265. /abc*/
  1266. Capturing subpattern count = 0
  1267. No options
  1268. First char = 'a'
  1269. Need char = 'b'
  1270. /ab.c*/
  1271. Capturing subpattern count = 0
  1272. No options
  1273. First char = 'a'
  1274. Need char = 'b'
  1275. /a.c*/
  1276. Capturing subpattern count = 0
  1277. No options
  1278. First char = 'a'
  1279. No need char
  1280. /.c*/
  1281. Capturing subpattern count = 0
  1282. No options
  1283. No first char
  1284. No need char
  1285. /ac*/
  1286. Capturing subpattern count = 0
  1287. No options
  1288. First char = 'a'
  1289. No need char
  1290. /(a.c*|b.c*)/
  1291. Capturing subpattern count = 1
  1292. No options
  1293. No first char
  1294. No need char
  1295. /a.c*|aba/
  1296. Capturing subpattern count = 0
  1297. No options
  1298. First char = 'a'
  1299. No need char
  1300. /.+a/
  1301. Capturing subpattern count = 0
  1302. No options
  1303. No first char
  1304. Need char = 'a'
  1305. /(?=abcda)a.*/
  1306. Capturing subpattern count = 0
  1307. No options
  1308. First char = 'a'
  1309. No need char
  1310. /(?=a)a.*/
  1311. Capturing subpattern count = 0
  1312. No options
  1313. First char = 'a'
  1314. No need char
  1315. /a(b)*/
  1316. Capturing subpattern count = 1
  1317. No options
  1318. First char = 'a'
  1319. No need char
  1320. /ad*/
  1321. Capturing subpattern count = 0
  1322. No options
  1323. First char = 'a'
  1324. No need char
  1325. /abd*/
  1326. Capturing subpattern count = 0
  1327. No options
  1328. First char = 'a'
  1329. Need char = 'b'
  1330. /a(d)*/
  1331. Capturing subpattern count = 1
  1332. No options
  1333. First char = 'a'
  1334. No need char
  1335. /abcde{0,0}/
  1336. Capturing subpattern count = 0
  1337. No options
  1338. First char = 'a'
  1339. Need char = 'd'
  1340. /abd+/
  1341. Capturing subpattern count = 0
  1342. No options
  1343. First char = 'a'
  1344. Need char = 'b'
  1345. /a(?(1)b)/
  1346. Capturing subpattern count = 0
  1347. No options
  1348. First char = 'a'
  1349. No need char
  1350. /a(?(1)bag|big)/
  1351. Capturing subpattern count = 0
  1352. No options
  1353. First char = 'a'
  1354. Need char = 'g'
  1355. /a(?(1)bag|big)*/
  1356. Capturing subpattern count = 0
  1357. No options
  1358. First char = 'a'
  1359. No need char
  1360. /a(?(1)bag|big)+/
  1361. Capturing subpattern count = 0
  1362. No options
  1363. First char = 'a'
  1364. Need char = 'g'
  1365. /a(?(1)b..|b..)/
  1366. Capturing subpattern count = 0
  1367. No options
  1368. First char = 'a'
  1369. Need char = 'b'
  1370. /abd{0}e/
  1371. Capturing subpattern count = 0
  1372. No options
  1373. First char = 'a'
  1374. Need char = 'e'
  1375. /a?b?/
  1376. Capturing subpattern count = 0
  1377. No options
  1378. No first char
  1379. No need char
  1380.     a
  1381.  0: a
  1382.     b
  1383.  0: b
  1384.     ab
  1385.  0: ab
  1386.     
  1387.  0: 
  1388.     *** Failers
  1389.  0: 
  1390.     N     
  1391. No match
  1392.     
  1393. /|-/
  1394. Capturing subpattern count = 0
  1395. No options
  1396. No first char
  1397. No need char
  1398.     abcd
  1399.  0: 
  1400.     -abc
  1401.  0: 
  1402.     Nab-c
  1403.  0: -
  1404.     *** Failers
  1405.  0: 
  1406.     Nabc     
  1407. No match
  1408. /a*(b+)(z)(z)/P
  1409.     aaaabbbbzzzz
  1410.  0: aaaabbbbzz
  1411.  1: bbbb
  1412.  2: z
  1413.  3: z
  1414.     aaaabbbbzzzzO0
  1415.     aaaabbbbzzzzO1
  1416.  0: aaaabbbbzz
  1417.     aaaabbbbzzzzO2
  1418.  0: aaaabbbbzz
  1419.  1: bbbb
  1420.     aaaabbbbzzzzO3
  1421.  0: aaaabbbbzz
  1422.  1: bbbb
  1423.  2: z
  1424.     aaaabbbbzzzzO4
  1425.  0: aaaabbbbzz
  1426.  1: bbbb
  1427.  2: z
  1428.  3: z
  1429.     aaaabbbbzzzzO5
  1430.  0: aaaabbbbzz
  1431.  1: bbbb
  1432.  2: z
  1433.  3: z
  1434.     
  1435. /^.?abcd/S 
  1436. Capturing subpattern count = 0
  1437. Options: anchored
  1438. No first char
  1439. Need char = 'd'
  1440. Study returned NULL
  1441. /(             # ( at start
  1442.   (?:           # Non-capturing bracket
  1443.   (?>[^()]+)    # Either a sequence of non-brackets (no backtracking)
  1444.   |             # Or
  1445.   (?R)          # Recurse - i.e. nested bracketed string
  1446.   )*            # Zero or more contents
  1447.   )            # Closing )
  1448.   /x
  1449. Capturing subpattern count = 0
  1450. Options: extended
  1451. First char = '('
  1452. Need char = ')'
  1453.     (abcd)
  1454.  0: (abcd)
  1455.     (abcd)xyz
  1456.  0: (abcd)
  1457.     xyz(abcd)
  1458.  0: (abcd)
  1459.     (ab(xy)cd)pqr 
  1460.  0: (ab(xy)cd)
  1461.     (ab(xycd)pqr 
  1462.  0: (xycd)
  1463.     () abc () 
  1464.  0: ()
  1465.     12(abcde(fsh)xyz(foo(bar))lmno)89
  1466.  0: (abcde(fsh)xyz(foo(bar))lmno)
  1467.     *** Failers
  1468. No match
  1469.     abcd 
  1470. No match
  1471.     abcd)
  1472. No match
  1473.     (abcd  
  1474. No match
  1475. /(  ( (?>[^()]+) | (?R) )* ) /xg
  1476. Capturing subpattern count = 1
  1477. Options: extended
  1478. First char = '('
  1479. Need char = ')'
  1480.     (ab(xy)cd)pqr 
  1481.  0: (ab(xy)cd)
  1482.  1: cd
  1483.     1(abcd)(x(y)z)pqr
  1484.  0: (abcd)
  1485.  1: abcd
  1486.  0: (x(y)z)
  1487.  1: z
  1488. /(  (?: (?>[^()]+) | (?R) ) ) /x
  1489. Capturing subpattern count = 0
  1490. Options: extended
  1491. First char = '('
  1492. Need char = ')'
  1493.     (abcd)
  1494.  0: (abcd)
  1495.     (ab(xy)cd)
  1496.  0: (xy)
  1497.     (a(b(c)d)e) 
  1498.  0: (c)
  1499.     ((ab)) 
  1500.  0: ((ab))
  1501.     *** Failers
  1502. No match
  1503.     ()   
  1504. No match
  1505. /(  (?: (?>[^()]+) | (?R) )? ) /x
  1506. Capturing subpattern count = 0
  1507. Options: extended
  1508. First char = '('
  1509. Need char = ')'
  1510.     ()
  1511.  0: ()
  1512.     12(abcde(fsh)xyz(foo(bar))lmno)89
  1513.  0: (fsh)
  1514. /(  ( (?>[^()]+) | (?R) )* ) /x
  1515. Capturing subpattern count = 1
  1516. Options: extended
  1517. First char = '('
  1518. Need char = ')'
  1519.     (ab(xy)cd)
  1520.  0: (ab(xy)cd)
  1521.  1: cd
  1522. /( ( ( (?>[^()]+) | (?R) )* ) ) /x
  1523. Capturing subpattern count = 2
  1524. Options: extended
  1525. First char = '('
  1526. Need char = ')'
  1527.     (ab(xy)cd)
  1528.  0: (ab(xy)cd)
  1529.  1: ab(xy)cd
  1530.  2: cd
  1531. /( (123)? ( ( (?>[^()]+) | (?R) )* ) ) /x
  1532. Capturing subpattern count = 3
  1533. Options: extended
  1534. First char = '('
  1535. Need char = ')'
  1536.     (ab(xy)cd)
  1537.  0: (ab(xy)cd)
  1538.  1: <unset>
  1539.  2: ab(xy)cd
  1540.  3: cd
  1541.     (123ab(xy)cd)
  1542.  0: (123ab(xy)cd)
  1543.  1: 123
  1544.  2: ab(xy)cd
  1545.  3: cd
  1546. /( ( (123)? ( (?>[^()]+) | (?R) )* ) ) /x
  1547. Capturing subpattern count = 3
  1548. Options: extended
  1549. First char = '('
  1550. Need char = ')'
  1551.     (ab(xy)cd)
  1552.  0: (ab(xy)cd)
  1553.  1: ab(xy)cd
  1554.  2: <unset>
  1555.  3: cd
  1556.     (123ab(xy)cd)
  1557.  0: (123ab(xy)cd)
  1558.  1: 123ab(xy)cd
  1559.  2: 123
  1560.  3: cd
  1561. /( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) ) /x
  1562. Capturing subpattern count = 11
  1563. Options: extended
  1564. First char = '('
  1565. Need char = ')'
  1566.     (ab(xy)cd)
  1567.  0: (ab(xy)cd)
  1568.  1: ab(xy)cd
  1569.  2: ab(xy)cd
  1570.  3: ab(xy)cd
  1571.  4: ab(xy)cd
  1572.  5: ab(xy)cd
  1573.  6: ab(xy)cd
  1574.  7: ab(xy)cd
  1575.  8: ab(xy)cd
  1576.  9: ab(xy)cd
  1577. 10: ab(xy)cd
  1578. 11: cd
  1579. /( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) ) /x
  1580. Capturing subpattern count = 3
  1581. Options: extended
  1582. First char = '('
  1583. Need char = ')'
  1584.     (abcd(xyz<p>qrs)123)
  1585.  0: (abcd(xyz<p>qrs)123)
  1586.  1: abcd(xyz<p>qrs)123
  1587.  2: 123
  1588.  3: <p>qrs
  1589. /( ( ( (?>[^()]+) | ((?R)) )* ) ) /x
  1590. Capturing subpattern count = 3
  1591. Options: extended
  1592. First char = '('
  1593. Need char = ')'
  1594.     (ab(cd)ef)
  1595.  0: (ab(cd)ef)
  1596.  1: ab(cd)ef
  1597.  2: ef
  1598.  3: (cd)
  1599.     (ab(cd(ef)gh)ij)
  1600.  0: (ab(cd(ef)gh)ij)
  1601.  1: ab(cd(ef)gh)ij
  1602.  2: ij
  1603.  3: (cd(ef)gh)
  1604. /^[[:alnum:]]/D
  1605. ------------------------------------------------------------------
  1606.   0  37 Bra 0
  1607.   3     ^
  1608.   4     [0-9A-Za-z]
  1609.  37  37 Ket
  1610.  40     End
  1611. ------------------------------------------------------------------
  1612. Capturing subpattern count = 0
  1613. Options: anchored
  1614. No first char
  1615. No need char
  1616. /^[[:alpha:]]/D
  1617. ------------------------------------------------------------------
  1618.   0  37 Bra 0
  1619.   3     ^
  1620.   4     [A-Za-z]
  1621.  37  37 Ket
  1622.  40     End
  1623. ------------------------------------------------------------------
  1624. Capturing subpattern count = 0
  1625. Options: anchored
  1626. No first char
  1627. No need char
  1628.              
  1629. /^[[:ascii:]]/D
  1630. ------------------------------------------------------------------
  1631.   0  37 Bra 0
  1632.   3     ^
  1633.   4     [x00-x7f]
  1634.  37  37 Ket
  1635.  40     End
  1636. ------------------------------------------------------------------
  1637. Capturing subpattern count = 0
  1638. Options: anchored
  1639. No first char
  1640. No need char
  1641. /^[[:cntrl:]]/D
  1642. ------------------------------------------------------------------
  1643.   0  37 Bra 0
  1644.   3     ^
  1645.   4     [x00-x1fx7f]
  1646.  37  37 Ket
  1647.  40     End
  1648. ------------------------------------------------------------------
  1649. Capturing subpattern count = 0
  1650. Options: anchored
  1651. No first char
  1652. No need char
  1653. /^[[:digit:]]/D
  1654. ------------------------------------------------------------------
  1655.   0  37 Bra 0
  1656.   3     ^
  1657.   4     [0-9]
  1658.  37  37 Ket
  1659.  40     End
  1660. ------------------------------------------------------------------
  1661. Capturing subpattern count = 0
  1662. Options: anchored
  1663. No first char
  1664. No need char
  1665. /^[[:graph:]]/D
  1666. ------------------------------------------------------------------
  1667.   0  37 Bra 0
  1668.   3     ^
  1669.   4     [!-~]
  1670.  37  37 Ket
  1671.  40     End
  1672. ------------------------------------------------------------------
  1673. Capturing subpattern count = 0
  1674. Options: anchored
  1675. No first char
  1676. No need char
  1677. /^[[:lower:]]/D
  1678. ------------------------------------------------------------------
  1679.   0  37 Bra 0
  1680.   3     ^
  1681.   4     [a-z]
  1682.  37  37 Ket
  1683.  40     End
  1684. ------------------------------------------------------------------
  1685. Capturing subpattern count = 0
  1686. Options: anchored
  1687. No first char
  1688. No need char
  1689. /^[[:print:]]/D
  1690. ------------------------------------------------------------------
  1691.   0  37 Bra 0
  1692.   3     ^
  1693.   4     [ -~]
  1694.  37  37 Ket
  1695.  40     End
  1696. ------------------------------------------------------------------
  1697. Capturing subpattern count = 0
  1698. Options: anchored
  1699. No first char
  1700. No need char
  1701. /^[[:punct:]]/D
  1702. ------------------------------------------------------------------
  1703.   0  37 Bra 0
  1704.   3     ^
  1705.   4     [!-/:-@[-`{-~]
  1706.  37  37 Ket
  1707.  40     End
  1708. ------------------------------------------------------------------
  1709. Capturing subpattern count = 0
  1710. Options: anchored
  1711. No first char
  1712. No need char
  1713. /^[[:space:]]/D
  1714. ------------------------------------------------------------------
  1715.   0  37 Bra 0
  1716.   3     ^
  1717.   4     [x09-x0d ]
  1718.  37  37 Ket
  1719.  40     End
  1720. ------------------------------------------------------------------
  1721. Capturing subpattern count = 0
  1722. Options: anchored
  1723. No first char
  1724. No need char
  1725. /^[[:upper:]]/D
  1726. ------------------------------------------------------------------
  1727.   0  37 Bra 0
  1728.   3     ^
  1729.   4     [A-Z]
  1730.  37  37 Ket
  1731.  40     End
  1732. ------------------------------------------------------------------
  1733. Capturing subpattern count = 0
  1734. Options: anchored
  1735. No first char
  1736. No need char
  1737. /^[[:xdigit:]]/D
  1738. ------------------------------------------------------------------
  1739.   0  37 Bra 0
  1740.   3     ^
  1741.   4     [0-9A-Fa-f]
  1742.  37  37 Ket
  1743.  40     End
  1744. ------------------------------------------------------------------
  1745. Capturing subpattern count = 0
  1746. Options: anchored
  1747. No first char
  1748. No need char
  1749. /^[[:word:]]/D
  1750. ------------------------------------------------------------------
  1751.   0  37 Bra 0
  1752.   3     ^
  1753.   4     [0-9A-Z_a-z]
  1754.  37  37 Ket
  1755.  40     End
  1756. ------------------------------------------------------------------
  1757. Capturing subpattern count = 0
  1758. Options: anchored
  1759. No first char
  1760. No need char
  1761. /^[[:^cntrl:]]/D
  1762. ------------------------------------------------------------------
  1763.   0  37 Bra 0
  1764.   3     ^
  1765.   4     [ -~x80-xff]
  1766.  37  37 Ket
  1767.  40     End
  1768. ------------------------------------------------------------------
  1769. Capturing subpattern count = 0
  1770. Options: anchored
  1771. No first char
  1772. No need char
  1773. /^[12[:^digit:]]/D
  1774. ------------------------------------------------------------------
  1775.   0  37 Bra 0
  1776.   3     ^
  1777.   4     [x00-/1-2:-xff]
  1778.  37  37 Ket
  1779.  40     End
  1780. ------------------------------------------------------------------
  1781. Capturing subpattern count = 0
  1782. Options: anchored
  1783. No first char
  1784. No need char
  1785. /[01[:alpha:]%]/D
  1786. ------------------------------------------------------------------
  1787.   0  36 Bra 0
  1788.   3     [%0-1A-Za-z]
  1789.  36  36 Ket
  1790.  39     End
  1791. ------------------------------------------------------------------
  1792. Capturing subpattern count = 0
  1793. No options
  1794. No first char
  1795. No need char
  1796. /[[.ch.]]/
  1797. Failed: POSIX collating elements are not supported at offset 1
  1798. /[[=ch=]]/
  1799. Failed: POSIX collating elements are not supported at offset 1
  1800. /[[:rhubarb:]]/
  1801. Failed: unknown POSIX class name at offset 3
  1802. /[[:upper:]]/i
  1803. Capturing subpattern count = 0
  1804. Options: caseless
  1805. No first char
  1806. No need char
  1807.     A
  1808.  0: A
  1809.     a 
  1810.  0: a
  1811.     
  1812. /[[:lower:]]/i
  1813. Capturing subpattern count = 0
  1814. Options: caseless
  1815. No first char
  1816. No need char
  1817.     A
  1818.  0: A
  1819.     a 
  1820.  0: a
  1821. /((?-i)[[:lower:]])[[:lower:]]/i
  1822. Capturing subpattern count = 1
  1823. Options: caseless
  1824. Case state changes
  1825. No first char
  1826. No need char
  1827.     ab
  1828.  0: ab
  1829.  1: a
  1830.     aB
  1831.  0: aB
  1832.  1: a
  1833.     *** Failers
  1834.  0: ai
  1835.  1: a
  1836.     Ab
  1837. No match
  1838.     AB        
  1839. No match
  1840. /[200-410]/
  1841. Failed: range out of order in character class at offset 9
  1842. /^(?(0)f|b)oo/
  1843. Failed: invalid condition (?(0) at offset 5
  1844. /This one's here because of the large output vector needed/
  1845. Capturing subpattern count = 0
  1846. No options
  1847. First char = 'T'
  1848. Need char = 'd'
  1849. /(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(d+(?:s|$))(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)/
  1850. Capturing subpattern count = 271
  1851. Max back reference = 270
  1852. No options
  1853. No first char
  1854. No need char
  1855.     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
  1856.  0: 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
  1857.  1: 1 
  1858.  2: 2 
  1859.  3: 3 
  1860.  4: 4 
  1861.  5: 5 
  1862.  6: 6 
  1863.  7: 7 
  1864.  8: 8 
  1865.  9: 9 
  1866. 10: 10 
  1867. 11: 11 
  1868. 12: 12 
  1869. 13: 13 
  1870. 14: 14 
  1871. 15: 15 
  1872. 16: 16 
  1873. 17: 17 
  1874. 18: 18 
  1875. 19: 19 
  1876. 20: 20 
  1877. 21: 21 
  1878. 22: 22 
  1879. 23: 23 
  1880. 24: 24 
  1881. 25: 25 
  1882. 26: 26 
  1883. 27: 27 
  1884. 28: 28 
  1885. 29: 29 
  1886. 30: 30 
  1887. 31: 31 
  1888. 32: 32 
  1889. 33: 33 
  1890. 34: 34 
  1891. 35: 35 
  1892. 36: 36 
  1893. 37: 37 
  1894. 38: 38 
  1895. 39: 39 
  1896. 40: 40 
  1897. 41: 41 
  1898. 42: 42 
  1899. 43: 43 
  1900. 44: 44 
  1901. 45: 45 
  1902. 46: 46 
  1903. 47: 47 
  1904. 48: 48 
  1905. 49: 49 
  1906. 50: 50 
  1907. 51: 51 
  1908. 52: 52 
  1909. 53: 53 
  1910. 54: 54 
  1911. 55: 55 
  1912. 56: 56 
  1913. 57: 57 
  1914. 58: 58 
  1915. 59: 59 
  1916. 60: 60 
  1917. 61: 61 
  1918. 62: 62 
  1919. 63: 63 
  1920. 64: 64 
  1921. 65: 65 
  1922. 66: 66 
  1923. 67: 67 
  1924. 68: 68 
  1925. 69: 69 
  1926. 70: 70 
  1927. 71: 71 
  1928. 72: 72 
  1929. 73: 73 
  1930. 74: 74 
  1931. 75: 75 
  1932. 76: 76 
  1933. 77: 77 
  1934. 78: 78 
  1935. 79: 79 
  1936. 80: 80 
  1937. 81: 81 
  1938. 82: 82 
  1939. 83: 83 
  1940. 84: 84 
  1941. 85: 85 
  1942. 86: 86 
  1943. 87: 87 
  1944. 88: 88 
  1945. 89: 89 
  1946. 90: 90 
  1947. 91: 91 
  1948. 92: 92 
  1949. 93: 93 
  1950. 94: 94 
  1951. 95: 95 
  1952. 96: 96 
  1953. 97: 97 
  1954. 98: 98 
  1955. 99: 99 
  1956. 100: 100 
  1957. 101: 101 
  1958. 102: 102 
  1959. 103: 103 
  1960. 104: 104 
  1961. 105: 105 
  1962. 106: 106 
  1963. 107: 107 
  1964. 108: 108 
  1965. 109: 109 
  1966. 110: 110 
  1967. 111: 111 
  1968. 112: 112 
  1969. 113: 113 
  1970. 114: 114 
  1971. 115: 115 
  1972. 116: 116 
  1973. 117: 117 
  1974. 118: 118 
  1975. 119: 119 
  1976. 120: 120 
  1977. 121: 121 
  1978. 122: 122 
  1979. 123: 123 
  1980. 124: 124 
  1981. 125: 125 
  1982. 126: 126 
  1983. 127: 127 
  1984. 128: 128 
  1985. 129: 129 
  1986. 130: 130 
  1987. 131: 131 
  1988. 132: 132 
  1989. 133: 133 
  1990. 134: 134 
  1991. 135: 135 
  1992. 136: 136 
  1993. 137: 137 
  1994. 138: 138 
  1995. 139: 139 
  1996. 140: 140 
  1997. 141: 141 
  1998. 142: 142 
  1999. 143: 143 
  2000. 144: 144 
  2001. 145: 145 
  2002. 146: 146 
  2003. 147: 147 
  2004. 148: 148 
  2005. 149: 149 
  2006. 150: 150 
  2007. 151: 151 
  2008. 152: 152 
  2009. 153: 153 
  2010. 154: 154 
  2011. 155: 155 
  2012. 156: 156 
  2013. 157: 157 
  2014. 158: 158 
  2015. 159: 159 
  2016. 160: 160 
  2017. 161: 161 
  2018. 162: 162 
  2019. 163: 163 
  2020. 164: 164 
  2021. 165: 165 
  2022. 166: 166 
  2023. 167: 167 
  2024. 168: 168 
  2025. 169: 169 
  2026. 170: 170 
  2027. 171: 171 
  2028. 172: 172 
  2029. 173: 173 
  2030. 174: 174 
  2031. 175: 175 
  2032. 176: 176 
  2033. 177: 177 
  2034. 178: 178 
  2035. 179: 179 
  2036. 180: 180 
  2037. 181: 181 
  2038. 182: 182 
  2039. 183: 183 
  2040. 184: 184 
  2041. 185: 185 
  2042. 186: 186 
  2043. 187: 187 
  2044. 188: 188 
  2045. 189: 189 
  2046. 190: 190 
  2047. 191: 191 
  2048. 192: 192 
  2049. 193: 193 
  2050. 194: 194 
  2051. 195: 195 
  2052. 196: 196 
  2053. 197: 197 
  2054. 198: 198 
  2055. 199: 199 
  2056. 200: 200 
  2057. 201: 201 
  2058. 202: 202 
  2059. 203: 203 
  2060. 204: 204 
  2061. 205: 205 
  2062. 206: 206 
  2063. 207: 207 
  2064. 208: 208 
  2065. 209: 209 
  2066. 210: 210 
  2067. 211: 211 
  2068. 212: 212 
  2069. 213: 213 
  2070. 214: 214 
  2071. 215: 215 
  2072. 216: 216 
  2073. 217: 217 
  2074. 218: 218 
  2075. 219: 219 
  2076. 220: 220 
  2077. 221: 221 
  2078. 222: 222 
  2079. 223: 223 
  2080. 224: 224 
  2081. 225: 225 
  2082. 226: 226 
  2083. 227: 227 
  2084. 228: 228 
  2085. 229: 229 
  2086. 230: 230 
  2087. 231: 231 
  2088. 232: 232 
  2089. 233: 233 
  2090. 234: 234 
  2091. 235: 235 
  2092. 236: 236 
  2093. 237: 237 
  2094. 238: 238 
  2095. 239: 239 
  2096. 240: 240 
  2097. 241: 241 
  2098. 242: 242 
  2099. 243: 243 
  2100. 244: 244 
  2101. 245: 245 
  2102. 246: 246 
  2103. 247: 247 
  2104. 248: 248 
  2105. 249: 249 
  2106. 250: 250 
  2107. 251: 251 
  2108. 252: 252 
  2109. 253: 253 
  2110. 254: 254 
  2111. 255: 255 
  2112. 256: 256 
  2113. 257: 257 
  2114. 258: 258 
  2115. 259: 259 
  2116. 260: 260 
  2117. 261: 261 
  2118. 262: 262 
  2119. 263: 263 
  2120. 264: 264 
  2121. 265: 265 
  2122. 266: 266 
  2123. 267: 267 
  2124. 268: 268 
  2125. 269: 269 
  2126. 270: ABC
  2127. 271: ABC
  2128. /This one's here because Perl does this differently and PCRE can't at present/
  2129. Capturing subpattern count = 0
  2130. No options
  2131. First char = 'T'
  2132. Need char = 't'
  2133. /(main(O)?)+/
  2134. Capturing subpattern count = 2
  2135. No options
  2136. First char = 'm'
  2137. Need char = 'n'
  2138.     mainmain
  2139.  0: mainmain
  2140.  1: main
  2141.     mainOmain
  2142.  0: mainOmain
  2143.  1: main
  2144.  2: O
  2145.     
  2146. / End of testinput2 /
  2147. Capturing subpattern count = 0
  2148. No options
  2149. First char = ' '
  2150. Need char = ' '