File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / pcre / testdata / testinput17
Revision 1.1.1.4 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Sun Jun 15 19:46:05 2014 UTC (10 years ago) by misho
Branches: pcre, MAIN
CVS tags: v8_34, HEAD
pcre 8.34

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

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