Annotation of embedaddon/pcre/testdata/testinput14, 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: *** 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:
317: /-- End of testinput14 --/
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>