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

1.1.1.3 ! misho       1: /-- This set of tests is for the 16- and 32-bit library's basic (non-UTF-16 
        !             2:     or -32) features that are not compatible with the 8-bit library, or which 
        !             3:     give different output in 16- or 32-bit mode. --/
1.1       misho       4: 
                      5: /a\Cb/
                      6:     aXb
                      7:     a\nb
                      8:   
                      9: /[^\x{c4}]/DZ
                     10:   
                     11: /\x{100}/I
                     12: 
                     13: /  (?: [\040\t] |  \(
                     14: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                     15: \)  )*                          # optional leading comment
                     16: (?:    (?:
                     17: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                     18: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                     19: |
                     20: " (?:                      # opening quote...
                     21: [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
                     22: |                     #    or
                     23: \\ [^\x80-\xff]           #   Escaped something (something != CR)
                     24: )* "  # closing quote
                     25: )                    # initial word
                     26: (?:  (?: [\040\t] |  \(
                     27: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                     28: \)  )*  \.  (?: [\040\t] |  \(
                     29: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                     30: \)  )*   (?:
                     31: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                     32: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                     33: |
                     34: " (?:                      # opening quote...
                     35: [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
                     36: |                     #    or
                     37: \\ [^\x80-\xff]           #   Escaped something (something != CR)
                     38: )* "  # closing quote
                     39: )  )* # further okay, if led by a period
                     40: (?: [\040\t] |  \(
                     41: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                     42: \)  )*  @  (?: [\040\t] |  \(
                     43: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                     44: \)  )*    (?:
                     45: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                     46: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                     47: |   \[                         # [
                     48: (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
                     49: \]                        #           ]
                     50: )                           # initial subdomain
                     51: (?:                                  #
                     52: (?: [\040\t] |  \(
                     53: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                     54: \)  )*  \.                        # if led by a period...
                     55: (?: [\040\t] |  \(
                     56: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                     57: \)  )*   (?:
                     58: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                     59: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                     60: |   \[                         # [
                     61: (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
                     62: \]                        #           ]
                     63: )                     #   ...further okay
                     64: )*
                     65: # address
                     66: |                     #  or
                     67: (?:
                     68: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                     69: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                     70: |
                     71: " (?:                      # opening quote...
                     72: [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
                     73: |                     #    or
                     74: \\ [^\x80-\xff]           #   Escaped something (something != CR)
                     75: )* "  # closing quote
                     76: )             # one word, optionally followed by....
                     77: (?:
                     78: [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037]  |  # atom and space parts, or...
                     79: \(
                     80: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                     81: \)       |  # comments, or...
                     82: 
                     83: " (?:                      # opening quote...
                     84: [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
                     85: |                     #    or
                     86: \\ [^\x80-\xff]           #   Escaped something (something != CR)
                     87: )* "  # closing quote
                     88: # quoted strings
                     89: )*
                     90: <  (?: [\040\t] |  \(
                     91: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                     92: \)  )*                     # leading <
                     93: (?:  @  (?: [\040\t] |  \(
                     94: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                     95: \)  )*    (?:
                     96: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                     97: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                     98: |   \[                         # [
                     99: (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
                    100: \]                        #           ]
                    101: )                           # initial subdomain
                    102: (?:                                  #
                    103: (?: [\040\t] |  \(
                    104: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    105: \)  )*  \.                        # if led by a period...
                    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: (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
                    113: \]                        #           ]
                    114: )                     #   ...further okay
                    115: )*
                    116: 
                    117: (?:  (?: [\040\t] |  \(
                    118: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    119: \)  )*  ,  (?: [\040\t] |  \(
                    120: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    121: \)  )*  @  (?: [\040\t] |  \(
                    122: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    123: \)  )*    (?:
                    124: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                    125: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                    126: |   \[                         # [
                    127: (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
                    128: \]                        #           ]
                    129: )                           # initial subdomain
                    130: (?:                                  #
                    131: (?: [\040\t] |  \(
                    132: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    133: \)  )*  \.                        # if led by a period...
                    134: (?: [\040\t] |  \(
                    135: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    136: \)  )*   (?:
                    137: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                    138: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                    139: |   \[                         # [
                    140: (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
                    141: \]                        #           ]
                    142: )                     #   ...further okay
                    143: )*
                    144: )* # further okay, if led by comma
                    145: :                                # closing colon
                    146: (?: [\040\t] |  \(
                    147: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    148: \)  )*  )? #       optional route
                    149: (?:
                    150: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                    151: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                    152: |
                    153: " (?:                      # opening quote...
                    154: [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
                    155: |                     #    or
                    156: \\ [^\x80-\xff]           #   Escaped something (something != CR)
                    157: )* "  # closing quote
                    158: )                    # initial word
                    159: (?:  (?: [\040\t] |  \(
                    160: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    161: \)  )*  \.  (?: [\040\t] |  \(
                    162: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    163: \)  )*   (?:
                    164: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                    165: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                    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: )  )* # further okay, if led by a period
                    173: (?: [\040\t] |  \(
                    174: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    175: \)  )*  @  (?: [\040\t] |  \(
                    176: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    177: \)  )*    (?:
                    178: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                    179: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                    180: |   \[                         # [
                    181: (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
                    182: \]                        #           ]
                    183: )                           # initial subdomain
                    184: (?:                                  #
                    185: (?: [\040\t] |  \(
                    186: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    187: \)  )*  \.                        # if led by a period...
                    188: (?: [\040\t] |  \(
                    189: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    190: \)  )*   (?:
                    191: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                    192: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                    193: |   \[                         # [
                    194: (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
                    195: \]                        #           ]
                    196: )                     #   ...further okay
                    197: )*
                    198: #       address spec
                    199: (?: [\040\t] |  \(
                    200: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    201: \)  )*  > #                  trailing >
                    202: # name and address
                    203: )  (?: [\040\t] |  \(
                    204: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                    205: \)  )*                       # optional trailing comment
                    206: /xSI
                    207: 
                    208: /[\h]/BZ
                    209:     >\x09<
                    210: 
                    211: /[\h]+/BZ
                    212:     >\x09\x20\xa0<
                    213: 
                    214: /[\v]/BZ
                    215: 
                    216: /[^\h]/BZ
                    217: 
                    218: /\h+/SI
                    219:     \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
                    220:     \x{3001}\x{2fff}\x{200a}\xa0\x{2000}
                    221: 
                    222: /[\h\x{dc00}]+/BZSI
                    223:     \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
                    224:     \x{3001}\x{2fff}\x{200a}\xa0\x{2000}
                    225: 
                    226: /\H+/SI
                    227:     \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
                    228:     \x{2000}\x{200a}\x{1fff}\x{200b}
                    229:     \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
                    230:     \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001}
                    231: 
1.1.1.3 ! misho     232: /[\H\x{d800}]+/
1.1       misho     233:     \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
                    234:     \x{2000}\x{200a}\x{1fff}\x{200b}
                    235:     \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
                    236:     \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001}
                    237: 
                    238: /\v+/SI
                    239:     \x{2027}\x{2030}\x{2028}\x{2029}
                    240:     \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
                    241: 
                    242: /[\v\x{dc00}]+/BZSI
                    243:     \x{2027}\x{2030}\x{2028}\x{2029}
                    244:     \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
                    245: 
                    246: /\V+/SI
                    247:     \x{2028}\x{2029}\x{2027}\x{2030}
                    248:     \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86
                    249: 
1.1.1.3 ! misho     250: /[\V\x{d800}]+/
1.1       misho     251:     \x{2028}\x{2029}\x{2027}\x{2030}
                    252:     \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86
                    253: 
                    254: /\R+/SI<bsr_unicode>
                    255:     \x{2027}\x{2030}\x{2028}\x{2029}
                    256:     \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
                    257: 
                    258: /\x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}/I
                    259:     \x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}
                    260: 
1.1.1.2   misho     261: /[^\x{80}][^\x{ff}][^\x{100}][^\x{1000}][^\x{ffff}]/BZ
                    262: 
                    263: /[^\x{80}][^\x{ff}][^\x{100}][^\x{1000}][^\x{ffff}]/BZi
                    264: 
                    265: /[^\x{100}]*[^\x{1000}]+[^\x{ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{100}]{5,6}+/BZ
                    266: 
                    267: /[^\x{100}]*[^\x{1000}]+[^\x{ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{100}]{5,6}+/BZi
                    268: 
                    269: /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF)XX/K
                    270:     XX
                    271:      
                    272: /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE)XX/K
                    273:     XX
                    274: 
                    275: /\u0100/<JS>BZ
                    276: 
                    277: /[\u0100-\u0200]/<JS>BZ
                    278: 
                    279: /\ud800/<JS>BZ
                    280: 
1.1.1.3 ! misho     281: /^\x{ffff}+/i
        !           282:     \x{ffff}
        !           283: 
        !           284: /^\x{ffff}?/i
        !           285:     \x{ffff}
        !           286: 
        !           287: /^\x{ffff}*/i
        !           288:     \x{ffff}
        !           289: 
        !           290: /^\x{ffff}{3}/i
        !           291:     \x{ffff}\x{ffff}\x{ffff}
        !           292: 
        !           293: /^\x{ffff}{0,3}/i
        !           294:     \x{ffff}
        !           295: 
1.1       misho     296: /-- End of testinput17 --/

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