Annotation of embedaddon/pcre/testdata/testoutput14, revision 1.1.1.2
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: 0: abc
! 8: *** Failers
! 9: No match: POSIX code 17: match failed
! 10:
! 11: /^abc|def/P
! 12: abcdef
! 13: 0: abc
! 14: abcdef\B
! 15: 0: def
! 16:
! 17: /.*((abc)$|(def))/P
! 18: defabc
! 19: 0: defabc
! 20: 1: abc
! 21: 2: abc
! 22: \Zdefabc
! 23: 0: def
! 24: 1: def
! 25: 3: def
! 26:
! 27: /the quick brown fox/P
! 28: the quick brown fox
! 29: 0: the quick brown fox
! 30: *** Failers
! 31: No match: POSIX code 17: match failed
! 32: The Quick Brown Fox
! 33: No match: POSIX code 17: match failed
! 34:
! 35: /the quick brown fox/Pi
! 36: the quick brown fox
! 37: 0: the quick brown fox
! 38: The Quick Brown Fox
! 39: 0: The Quick Brown Fox
! 40:
! 41: /abc.def/P
! 42: *** Failers
! 43: No match: POSIX code 17: match failed
! 44: abc\ndef
! 45: No match: POSIX code 17: match failed
! 46:
! 47: /abc$/P
! 48: abc
! 49: 0: abc
! 50: abc\n
! 51: 0: abc
! 52:
! 53: /(abc)\2/P
! 54: Failed: POSIX code 15: bad back reference at offset 7
! 55:
! 56: /(abc\1)/P
! 57: abc
! 58: No match: POSIX code 17: match failed
! 59:
! 60: /a*(b+)(z)(z)/P
! 61: aaaabbbbzzzz
! 62: 0: aaaabbbbzz
! 63: 1: bbbb
! 64: 2: z
! 65: 3: z
! 66: aaaabbbbzzzz\O0
! 67: aaaabbbbzzzz\O1
! 68: 0: aaaabbbbzz
! 69: aaaabbbbzzzz\O2
! 70: 0: aaaabbbbzz
! 71: 1: bbbb
! 72: aaaabbbbzzzz\O3
! 73: 0: aaaabbbbzz
! 74: 1: bbbb
! 75: 2: z
! 76: aaaabbbbzzzz\O4
! 77: 0: aaaabbbbzz
! 78: 1: bbbb
! 79: 2: z
! 80: 3: z
! 81: aaaabbbbzzzz\O5
! 82: 0: aaaabbbbzz
! 83: 1: bbbb
! 84: 2: z
! 85: 3: z
! 86:
! 87: /ab.cd/P
! 88: ab-cd
! 89: 0: ab-cd
! 90: ab=cd
! 91: 0: ab=cd
! 92: ** Failers
! 93: No match: POSIX code 17: match failed
! 94: ab\ncd
! 95: No match: POSIX code 17: match failed
! 96:
! 97: /ab.cd/Ps
! 98: ab-cd
! 99: 0: ab-cd
! 100: ab=cd
! 101: 0: ab=cd
! 102: ab\ncd
! 103: 0: ab\x0acd
! 104:
! 105: /a(b)c/PN
! 106: abc
! 107: Matched with REG_NOSUB
! 108:
! 109: /a(?P<name>b)c/PN
! 110: abc
! 111: Matched with REG_NOSUB
! 112:
! 113: /a?|b?/P
! 114: abc
! 115: 0: a
! 116: ** Failers
! 117: 0:
! 118: ddd\N
! 119: No match: POSIX code 17: match failed
! 120:
! 121: /\w+A/P
! 122: CDAAAAB
! 123: 0: CDAAAA
! 124:
! 125: /\w+A/PU
! 126: CDAAAAB
! 127: 0: CDA
! 128:
! 129: /\Biss\B/I+P
! 130: Mississippi
! 131: 0: iss
! 132: 0+ issippi
! 133:
! 134: /abc/\P
! 135: Failed: POSIX code 9: bad escape sequence at offset 4
! 136:
! 137: /-- End of POSIX tests --/
! 138:
! 139: /a\Cb/
! 140: aXb
! 141: 0: aXb
! 142: a\nb
! 143: 0: a\x0ab
! 144: ** Failers (too big char)
! 145: No match
! 146: A\x{123}B
! 147: ** Character \x{123} is greater than 255 and UTF-8 mode is not enabled.
! 148: ** Truncation will probably give the wrong result.
! 149: No match
! 150:
! 151: /\x{100}/I
! 152: Failed: character value in \x{...} sequence is too large at offset 6
! 153:
! 154: / (?: [\040\t] | \(
! 155: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
! 156: \) )* # optional leading comment
! 157: (?: (?:
! 158: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
! 159: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
! 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: ) # initial word
! 167: (?: (?: [\040\t] | \(
! 168: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
! 169: \) )* \. (?: [\040\t] | \(
! 170: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
! 171: \) )* (?:
! 172: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
! 173: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
! 174: |
! 175: " (?: # opening quote...
! 176: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
! 177: | # or
! 178: \\ [^\x80-\xff] # Escaped something (something != CR)
! 179: )* " # closing quote
! 180: ) )* # further okay, if led by a period
! 181: (?: [\040\t] | \(
! 182: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
! 183: \) )* @ (?: [\040\t] | \(
! 184: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
! 185: \) )* (?:
! 186: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
! 187: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
! 188: | \[ # [
! 189: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
! 190: \] # ]
! 191: ) # initial subdomain
! 192: (?: #
! 193: (?: [\040\t] | \(
! 194: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
! 195: \) )* \. # if led by a period...
! 196: (?: [\040\t] | \(
! 197: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
! 198: \) )* (?:
! 199: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
! 200: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
! 201: | \[ # [
! 202: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
! 203: \] # ]
! 204: ) # ...further okay
! 205: )*
! 206: # address
! 207: | # or
! 208: (?:
! 209: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
! 210: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
! 211: |
! 212: " (?: # opening quote...
! 213: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
! 214: | # or
! 215: \\ [^\x80-\xff] # Escaped something (something != CR)
! 216: )* " # closing quote
! 217: ) # one word, optionally followed by....
! 218: (?:
! 219: [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or...
! 220: \(
! 221: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
! 222: \) | # comments, or...
! 223:
! 224: " (?: # opening quote...
! 225: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
! 226: | # or
! 227: \\ [^\x80-\xff] # Escaped something (something != CR)
! 228: )* " # closing quote
! 229: # quoted strings
! 230: )*
! 231: < (?: [\040\t] | \(
! 232: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
! 233: \) )* # leading <
! 234: (?: @ (?: [\040\t] | \(
! 235: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
! 236: \) )* (?:
! 237: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
! 238: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
! 239: | \[ # [
! 240: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
! 241: \] # ]
! 242: ) # initial subdomain
! 243: (?: #
! 244: (?: [\040\t] | \(
! 245: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
! 246: \) )* \. # if led by a period...
! 247: (?: [\040\t] | \(
! 248: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
! 249: \) )* (?:
! 250: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
! 251: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
! 252: | \[ # [
! 253: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
! 254: \] # ]
! 255: ) # ...further okay
! 256: )*
! 257:
! 258: (?: (?: [\040\t] | \(
! 259: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
! 260: \) )* , (?: [\040\t] | \(
! 261: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
! 262: \) )* @ (?: [\040\t] | \(
! 263: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
! 264: \) )* (?:
! 265: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
! 266: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
! 267: | \[ # [
! 268: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
! 269: \] # ]
! 270: ) # initial subdomain
! 271: (?: #
! 272: (?: [\040\t] | \(
! 273: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
! 274: \) )* \. # if led by a period...
! 275: (?: [\040\t] | \(
! 276: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
! 277: \) )* (?:
! 278: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
! 279: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
! 280: | \[ # [
! 281: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
! 282: \] # ]
! 283: ) # ...further okay
! 284: )*
! 285: )* # further okay, if led by comma
! 286: : # closing colon
! 287: (?: [\040\t] | \(
! 288: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
! 289: \) )* )? # optional route
! 290: (?:
! 291: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
! 292: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
! 293: |
! 294: " (?: # opening quote...
! 295: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
! 296: | # or
! 297: \\ [^\x80-\xff] # Escaped something (something != CR)
! 298: )* " # closing quote
! 299: ) # initial word
! 300: (?: (?: [\040\t] | \(
! 301: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
! 302: \) )* \. (?: [\040\t] | \(
! 303: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
! 304: \) )* (?:
! 305: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
! 306: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
! 307: |
! 308: " (?: # opening quote...
! 309: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
! 310: | # or
! 311: \\ [^\x80-\xff] # Escaped something (something != CR)
! 312: )* " # closing quote
! 313: ) )* # further okay, if led by a period
! 314: (?: [\040\t] | \(
! 315: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
! 316: \) )* @ (?: [\040\t] | \(
! 317: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
! 318: \) )* (?:
! 319: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
! 320: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
! 321: | \[ # [
! 322: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
! 323: \] # ]
! 324: ) # initial subdomain
! 325: (?: #
! 326: (?: [\040\t] | \(
! 327: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
! 328: \) )* \. # if led by a period...
! 329: (?: [\040\t] | \(
! 330: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
! 331: \) )* (?:
! 332: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
! 333: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
! 334: | \[ # [
! 335: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
! 336: \] # ]
! 337: ) # ...further okay
! 338: )*
! 339: # address spec
! 340: (?: [\040\t] | \(
! 341: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
! 342: \) )* > # trailing >
! 343: # name and address
! 344: ) (?: [\040\t] | \(
! 345: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
! 346: \) )* # optional trailing comment
! 347: /xSI
1.1 misho 348: Capturing subpattern count = 0
1.1.1.2 ! misho 349: Contains explicit CR or LF match
! 350: Options: extended
! 351: No first char
! 352: No need char
1.1 misho 353: Subject length lower bound = 3
1.1.1.2 ! misho 354: Starting byte set: \x09 \x20 ! " # $ % & ' ( * + - / 0 1 2 3 4 5 6 7 8
! 355: 9 = ? 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 Z ^ _ ` a b c d e
! 356: f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f
! 357:
! 358: /-- Although this saved pattern was compiled with link-size=2, it does no harm
! 359: to run this test with other link sizes because it is going to generated a
! 360: "compiled in wrong mode" error as soon as it is loaded, so the link size does
! 361: not matter. --/
1.1 misho 362:
1.1.1.2 ! misho 363: <!testsaved16
! 364: Compiled pattern loaded from testsaved16
! 365: No study data
! 366: Error -28 from pcre_fullinfo(0)
! 367: Running in 8-bit mode but pattern was compiled in 16-bit mode
! 368:
! 369: /\h/SI
1.1 misho 370: Capturing subpattern count = 0
371: No options
1.1.1.2 ! misho 372: No first char
! 373: No need char
! 374: Subject length lower bound = 1
! 375: Starting byte set: \x09 \x20 \xa0
1.1 misho 376:
1.1.1.2 ! misho 377: /\v/SI
1.1 misho 378: Capturing subpattern count = 0
379: No options
1.1.1.2 ! misho 380: No first char
! 381: No need char
! 382: Subject length lower bound = 1
! 383: Starting byte set: \x0a \x0b \x0c \x0d \x85
1.1 misho 384:
1.1.1.2 ! misho 385: /\R/SI
1.1 misho 386: Capturing subpattern count = 0
387: No options
388: No first char
389: No need char
1.1.1.2 ! misho 390: Subject length lower bound = 1
! 391: Starting byte set: \x0a \x0b \x0c \x0d \x85
! 392:
! 393: /[\h]/BZ
! 394: ------------------------------------------------------------------
! 395: Bra
! 396: [\x09 \xa0]
! 397: Ket
! 398: End
! 399: ------------------------------------------------------------------
! 400: >\x09<
! 401: 0: \x09
! 402:
! 403: /[\h]+/BZ
! 404: ------------------------------------------------------------------
! 405: Bra
! 406: [\x09 \xa0]+
! 407: Ket
! 408: End
! 409: ------------------------------------------------------------------
! 410: >\x09\x20\xa0<
! 411: 0: \x09 \xa0
! 412:
! 413: /[\v]/BZ
! 414: ------------------------------------------------------------------
! 415: Bra
! 416: [\x0a-\x0d\x85]
! 417: Ket
! 418: End
! 419: ------------------------------------------------------------------
! 420:
! 421: /[\H]/BZ
! 422: ------------------------------------------------------------------
! 423: Bra
! 424: [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff]
! 425: Ket
! 426: End
! 427: ------------------------------------------------------------------
! 428:
! 429: /[^\h]/BZ
! 430: ------------------------------------------------------------------
! 431: Bra
! 432: [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff] (neg)
! 433: Ket
! 434: End
! 435: ------------------------------------------------------------------
! 436:
! 437: /[\V]/BZ
! 438: ------------------------------------------------------------------
! 439: Bra
! 440: [\x00-\x09\x0e-\x84\x86-\xff]
! 441: Ket
! 442: End
! 443: ------------------------------------------------------------------
! 444:
! 445: /[\x0a\V]/BZ
! 446: ------------------------------------------------------------------
! 447: Bra
! 448: [\x00-\x0a\x0e-\x84\x86-\xff]
! 449: Ket
! 450: End
! 451: ------------------------------------------------------------------
1.1 misho 452:
1.1.1.2 ! misho 453: /\777/I
! 454: Failed: octal value is greater than \377 in 8-bit non-UTF-8 mode at offset 3
1.1 misho 455:
456: /-- End of testinput14 --/
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>