Annotation of embedaddon/pcre/testdata/testinput14, revision 1.1.1.3

1.1.1.2   misho       1: /-- This set of tests is run only with the 8-bit library. It starts with all
                      2:     the tests of the POSIX interface, because that is supported only with the
                      3:     8-bit library. --/
1.1       misho       4: 
1.1.1.2   misho       5: /abc/P
                      6:     abc
                      7:     *** Failers
                      8: 
                      9: /^abc|def/P
                     10:     abcdef
                     11:     abcdef\B
                     12: 
                     13: /.*((abc)$|(def))/P
                     14:     defabc
                     15:     \Zdefabc
                     16: 
                     17: /the quick brown fox/P
                     18:     the quick brown fox
                     19:     *** Failers
                     20:     The Quick Brown Fox
                     21: 
                     22: /the quick brown fox/Pi
                     23:     the quick brown fox
                     24:     The Quick Brown Fox
                     25: 
                     26: /abc.def/P
                     27:     *** Failers
                     28:     abc\ndef
                     29: 
                     30: /abc$/P
                     31:     abc
                     32:     abc\n
                     33: 
                     34: /(abc)\2/P
1.1       misho      35: 
1.1.1.2   misho      36: /(abc\1)/P
                     37:     abc
                     38: 
                     39: /a*(b+)(z)(z)/P
                     40:     aaaabbbbzzzz
                     41:     aaaabbbbzzzz\O0
                     42:     aaaabbbbzzzz\O1
                     43:     aaaabbbbzzzz\O2
                     44:     aaaabbbbzzzz\O3
                     45:     aaaabbbbzzzz\O4
                     46:     aaaabbbbzzzz\O5
                     47: 
                     48: /ab.cd/P
                     49:     ab-cd
                     50:     ab=cd
                     51:     ** Failers
                     52:     ab\ncd
1.1       misho      53: 
1.1.1.2   misho      54: /ab.cd/Ps
                     55:     ab-cd
                     56:     ab=cd
                     57:     ab\ncd
                     58: 
                     59: /a(b)c/PN
                     60:     abc
1.1       misho      61: 
1.1.1.2   misho      62: /a(?P<name>b)c/PN
1.1       misho      63:     abc
                     64: 
1.1.1.2   misho      65: /a?|b?/P
                     66:     abc
                     67:     ** Failers
                     68:     ddd\N   
                     69: 
                     70: /\w+A/P
                     71:    CDAAAAB 
                     72: 
                     73: /\w+A/PU
                     74:    CDAAAAB 
                     75:    
                     76: /\Biss\B/I+P
                     77:     Mississippi
                     78: 
                     79: /abc/\P
                     80: 
                     81: /-- End of POSIX tests --/ 
                     82: 
                     83: /a\Cb/
                     84:     aXb
                     85:     a\nb
                     86:     ** Failers (too big char) 
                     87:     A\x{123}B 
                     88:   
                     89: /\x{100}/I
                     90: 
                     91: /  (?: [\040\t] |  \(
                     92: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                     93: \)  )*                          # optional leading comment
                     94: (?:    (?:
                     95: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                     96: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                     97: |
                     98: " (?:                      # opening quote...
                     99: [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
                    100: |                     #    or
                    101: \\ [^\x80-\xff]           #   Escaped something (something != CR)
                    102: )* "  # closing quote
                    103: )                    # initial word
                    104: (?:  (?: [\040\t] |  \(
                    105: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    106: \)  )*  \.  (?: [\040\t] |  \(
                    107: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    108: \)  )*   (?:
                    109: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                    110: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                    111: |
                    112: " (?:                      # opening quote...
                    113: [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
                    114: |                     #    or
                    115: \\ [^\x80-\xff]           #   Escaped something (something != CR)
                    116: )* "  # closing quote
                    117: )  )* # further okay, if led by a period
                    118: (?: [\040\t] |  \(
                    119: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    120: \)  )*  @  (?: [\040\t] |  \(
                    121: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    122: \)  )*    (?:
                    123: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                    124: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                    125: |   \[                         # [
                    126: (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
                    127: \]                        #           ]
                    128: )                           # initial subdomain
                    129: (?:                                  #
                    130: (?: [\040\t] |  \(
                    131: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    132: \)  )*  \.                        # if led by a period...
                    133: (?: [\040\t] |  \(
                    134: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    135: \)  )*   (?:
                    136: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                    137: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                    138: |   \[                         # [
                    139: (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
                    140: \]                        #           ]
                    141: )                     #   ...further okay
                    142: )*
                    143: # address
                    144: |                     #  or
                    145: (?:
                    146: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                    147: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                    148: |
                    149: " (?:                      # opening quote...
                    150: [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
                    151: |                     #    or
                    152: \\ [^\x80-\xff]           #   Escaped something (something != CR)
                    153: )* "  # closing quote
                    154: )             # one word, optionally followed by....
                    155: (?:
                    156: [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037]  |  # atom and space parts, or...
                    157: \(
                    158: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    159: \)       |  # comments, or...
                    160: 
                    161: " (?:                      # opening quote...
                    162: [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
                    163: |                     #    or
                    164: \\ [^\x80-\xff]           #   Escaped something (something != CR)
                    165: )* "  # closing quote
                    166: # quoted strings
                    167: )*
                    168: <  (?: [\040\t] |  \(
                    169: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    170: \)  )*                     # leading <
                    171: (?:  @  (?: [\040\t] |  \(
                    172: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    173: \)  )*    (?:
                    174: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                    175: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                    176: |   \[                         # [
                    177: (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
                    178: \]                        #           ]
                    179: )                           # initial subdomain
                    180: (?:                                  #
                    181: (?: [\040\t] |  \(
                    182: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    183: \)  )*  \.                        # if led by a period...
                    184: (?: [\040\t] |  \(
                    185: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    186: \)  )*   (?:
                    187: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                    188: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                    189: |   \[                         # [
                    190: (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
                    191: \]                        #           ]
                    192: )                     #   ...further okay
                    193: )*
                    194: 
                    195: (?:  (?: [\040\t] |  \(
                    196: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    197: \)  )*  ,  (?: [\040\t] |  \(
                    198: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    199: \)  )*  @  (?: [\040\t] |  \(
                    200: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    201: \)  )*    (?:
                    202: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                    203: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                    204: |   \[                         # [
                    205: (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
                    206: \]                        #           ]
                    207: )                           # initial subdomain
                    208: (?:                                  #
                    209: (?: [\040\t] |  \(
                    210: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    211: \)  )*  \.                        # if led by a period...
                    212: (?: [\040\t] |  \(
                    213: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    214: \)  )*   (?:
                    215: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                    216: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                    217: |   \[                         # [
                    218: (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
                    219: \]                        #           ]
                    220: )                     #   ...further okay
                    221: )*
                    222: )* # further okay, if led by comma
                    223: :                                # closing colon
                    224: (?: [\040\t] |  \(
                    225: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    226: \)  )*  )? #       optional route
                    227: (?:
                    228: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                    229: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                    230: |
                    231: " (?:                      # opening quote...
                    232: [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
                    233: |                     #    or
                    234: \\ [^\x80-\xff]           #   Escaped something (something != CR)
                    235: )* "  # closing quote
                    236: )                    # initial word
                    237: (?:  (?: [\040\t] |  \(
                    238: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    239: \)  )*  \.  (?: [\040\t] |  \(
                    240: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    241: \)  )*   (?:
                    242: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                    243: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                    244: |
                    245: " (?:                      # opening quote...
                    246: [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
                    247: |                     #    or
                    248: \\ [^\x80-\xff]           #   Escaped something (something != CR)
                    249: )* "  # closing quote
                    250: )  )* # further okay, if led by a period
                    251: (?: [\040\t] |  \(
                    252: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    253: \)  )*  @  (?: [\040\t] |  \(
                    254: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    255: \)  )*    (?:
                    256: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                    257: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                    258: |   \[                         # [
                    259: (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
                    260: \]                        #           ]
                    261: )                           # initial subdomain
                    262: (?:                                  #
                    263: (?: [\040\t] |  \(
                    264: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    265: \)  )*  \.                        # if led by a period...
                    266: (?: [\040\t] |  \(
                    267: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    268: \)  )*   (?:
                    269: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                    270: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                    271: |   \[                         # [
                    272: (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
                    273: \]                        #           ]
                    274: )                     #   ...further okay
                    275: )*
                    276: #       address spec
                    277: (?: [\040\t] |  \(
                    278: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    279: \)  )*  > #                  trailing >
                    280: # name and address
                    281: )  (?: [\040\t] |  \(
                    282: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    283: \)  )*                       # optional trailing comment
                    284: /xSI
                    285: 
                    286: /-- Although this saved pattern was compiled with link-size=2, it does no harm
                    287: to run this test with other link sizes because it is going to generated a
                    288: "compiled in wrong mode" error as soon as it is loaded, so the link size does 
                    289: not matter. --/
                    290: 
                    291: <!testsaved16
                    292: 
                    293: /\h/SI
                    294: 
                    295: /\v/SI
                    296: 
                    297: /\R/SI
                    298: 
                    299: /[\h]/BZ
                    300:     >\x09<
                    301: 
                    302: /[\h]+/BZ
                    303:     >\x09\x20\xa0<
                    304: 
                    305: /[\v]/BZ
                    306: 
                    307: /[\H]/BZ
                    308: 
                    309: /[^\h]/BZ
                    310: 
                    311: /[\V]/BZ
                    312: 
                    313: /[\x0a\V]/BZ
1.1       misho     314: 
1.1.1.2   misho     315: /\777/I
1.1       misho     316: 
1.1.1.3 ! misho     317: /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF)XX/K
        !           318:     XX
        !           319:      
        !           320: /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE)XX/K
        !           321:     XX
        !           322: 
        !           323: /\u0100/<JS>
        !           324: 
        !           325: /[\u0100-\u0200]/<JS>
        !           326: 
1.1       misho     327: /-- End of testinput14 --/

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>