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

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

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