1# Tests for fnmatch. 2# Copyright (C) 2000-2021 Free Software Foundation, Inc. 3# This file is part of the GNU C Library. 4# Contributes by Ulrich Drepper <drepper@redhat.com>. 5# 6 7# The GNU C Library is free software; you can redistribute it and/or 8# modify it under the terms of the GNU Lesser General Public 9# License as published by the Free Software Foundation; either 10# version 2.1 of the License, or (at your option) any later version. 11 12# The GNU C Library is distributed in the hope that it will be useful, 13# but WITHOUT ANY WARRANTY; without even the implied warranty of 14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15# Lesser General Public License for more details. 16 17# You should have received a copy of the GNU Lesser General Public 18# License along with the GNU C Library; if not, see 19# <https://www.gnu.org/licenses/>. 20 21 22# Derived from the IEEE 2003.2 text. The standard only contains some 23# wording describing the situations to be tested. It does not specify 24# any specific tests. I.e., the tests below are in no case sufficient. 25# They are hopefully necessary, though. 26# 27# See: 28# 29# http://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xbd_chap09.html 30# 31# > RE Bracket Expression 32# > 33# > Range expressions are, historically, an integral part of REs. 34# > However, the requirements of "natural language behavior" and 35# > portability do conflict. In the POSIX locale, ranges must be treated 36# > according to the collating sequence and include such characters that 37# > fall within the range based on that collating sequence, regardless 38# > of character values. In other locales, ranges have unspecified behavior. 39# > ... 40# > The current standard leaves unspecified the behavior of a range 41# > expression outside the POSIX locale. This makes it clearer that 42# > conforming applications should avoid range expressions outside the 43# > POSIX locale, and it allows implementations and compatible user-mode 44# > matchers to interpret range expressions using native order, CEO, 45# > collation sequence, or other, more advanced techniques. The concerns 46# > which led to this change were raised in IEEE PASC interpretation 47# > 1003.2 #43 and others, and related to ambiguities in the 48# > specification of how multi-character collating elements should be 49# > handled in range expressions. These ambiguities had led to multiple 50# > interpretations of the specification, in conflicting ways, which led 51# > to varying implementations. As noted above, efforts were made to 52# > resolve the differences, but no solution has been found that would 53# > be specific enough to allow for portable software while not 54# > invalidating existing implementations. 55# 56# Therefore, using [a-z] does not make much sense except in the C/POSIX locale. 57# The new iso14651_t1_common lists upper case and lower case Latin characters 58# in a different order than the old one which causes surprising results 59# for example in the de_DE locale: [a-z] now includes A because A comes 60# after a in iso14651_t1_common but does not include Z because that comes 61# after z in iso14651_t1_common. 62# 63# This lead to several bugs and problems with user scripts that do not 64# expect [a-z] to match uppercase characters. 65# 66# See the following bugs: 67# https://sourceware.org/bugzilla/show_bug.cgi?id=23393 68# https://sourceware.org/bugzilla/show_bug.cgi?id=23420 69# 70# No consensus exists on how best to handle the changes so the 71# iso14651_t1_common collation element order (CEO) has been changed to 72# deinterlace the a-z and A-Z regions. 73# 74# With the deinterlacing commit ac3a3b4b0d561d776b60317d6a926050c8541655 75# could be reverted to re-test the correct non-interleaved expectations. 76# 77# Please note that despite the region being deinterlaced, the ordering 78# of collation remains the same. In glibc we implement CEO and because of 79# that we can reorder the elements to reorder ranges without impacting 80# collation which depends on weights. The collation element ordering 81# could have been changed to include just a-z, A-Z, and 0-9 in three 82# distinct blocks, but this needs more discussion by the community. 83 84# B.6 004(C) 85C "!#%+,-./01234567889" "!#%+,-./01234567889" 0 86C ":;=@ABCDEFGHIJKLMNO" ":;=@ABCDEFGHIJKLMNO" 0 87C "PQRSTUVWXYZ]abcdefg" "PQRSTUVWXYZ]abcdefg" 0 88C "hijklmnopqrstuvwxyz" "hijklmnopqrstuvwxyz" 0 89C "^_{}~" "^_{}~" 0 90 91# B.6 005(C) 92C "\"$&'()" "\\\"\\$\\&\\'\\(\\)" 0 93C "*?[\\`|" "\\*\\?\\[\\\\\\`\\|" 0 94C "<>" "\\<\\>" 0 95 96# B.6 006(C) 97C "?*[" "[?*[][?*[][?*[]" 0 98C "a/b" "?/b" 0 99 100# B.6 007(C) 101C "a/b" "a?b" 0 102C "a/b" "a/?" 0 103C "aa/b" "?/b" NOMATCH 104C "aa/b" "a?b" NOMATCH 105C "a/bb" "a/?" NOMATCH 106 107# B.6 009(C) 108C "abc" "[abc]" NOMATCH 109C "x" "[abc]" NOMATCH 110C "a" "[abc]" 0 111C "[" "[[abc]" 0 112C "a" "[][abc]" 0 113C "a]" "[]a]]" 0 114 115# B.6 010(C) 116C "xyz" "[!abc]" NOMATCH 117C "x" "[!abc]" 0 118C "a" "[!abc]" NOMATCH 119 120# B.6 011(C) 121C "]" "[][abc]" 0 122C "abc]" "[][abc]" NOMATCH 123C "[]abc" "[][]abc" NOMATCH 124C "]" "[!]]" NOMATCH 125C "aa]" "[!]a]" NOMATCH 126C "]" "[!a]" 0 127C "]]" "[!a]]" 0 128 129# B.6 012(C) 130C "a" "[[.a.]]" 0 131C "-" "[[.-.]]" 0 132C "-" "[[.-.][.].]]" 0 133C "-" "[[.].][.-.]]" 0 134C "-" "[[.-.][=u=]]" 0 135C "-" "[[.-.][:alpha:]]" 0 136C "a" "[![.a.]]" NOMATCH 137 138# B.6 013(C) 139C "a" "[[.b.]]" NOMATCH 140C "a" "[[.b.][.c.]]" NOMATCH 141C "a" "[[.b.][=b=]]" NOMATCH 142 143 144# B.6 015(C) 145C "a" "[[=a=]]" 0 146C "b" "[[=a=]b]" 0 147C "b" "[[=a=][=b=]]" 0 148C "a" "[[=a=][=b=]]" 0 149C "a" "[[=a=][.b.]]" 0 150C "a" "[[=a=][:digit:]]" 0 151 152# B.6 016(C) 153C "=" "[[=a=]b]" NOMATCH 154C "]" "[[=a=]b]" NOMATCH 155C "a" "[[=b=][=c=]]" NOMATCH 156C "a" "[[=b=][.].]]" NOMATCH 157C "a" "[[=b=][:digit:]]" NOMATCH 158 159# B.6 017(C) 160C "a" "[[:alnum:]]" 0 161C "a" "[![:alnum:]]" NOMATCH 162C "-" "[[:alnum:]]" NOMATCH 163C "a]a" "[[:alnum:]]a" NOMATCH 164C "-" "[[:alnum:]-]" 0 165C "aa" "[[:alnum:]]a" 0 166C "-" "[![:alnum:]]" 0 167C "]" "[!][:alnum:]]" NOMATCH 168C "[" "[![:alnum:][]" NOMATCH 169C "a" "[[:alnum:]]" 0 170C "b" "[[:alnum:]]" 0 171C "c" "[[:alnum:]]" 0 172C "d" "[[:alnum:]]" 0 173C "e" "[[:alnum:]]" 0 174C "f" "[[:alnum:]]" 0 175C "g" "[[:alnum:]]" 0 176C "h" "[[:alnum:]]" 0 177C "i" "[[:alnum:]]" 0 178C "j" "[[:alnum:]]" 0 179C "k" "[[:alnum:]]" 0 180C "l" "[[:alnum:]]" 0 181C "m" "[[:alnum:]]" 0 182C "n" "[[:alnum:]]" 0 183C "o" "[[:alnum:]]" 0 184C "p" "[[:alnum:]]" 0 185C "q" "[[:alnum:]]" 0 186C "r" "[[:alnum:]]" 0 187C "s" "[[:alnum:]]" 0 188C "t" "[[:alnum:]]" 0 189C "u" "[[:alnum:]]" 0 190C "v" "[[:alnum:]]" 0 191C "w" "[[:alnum:]]" 0 192C "x" "[[:alnum:]]" 0 193C "y" "[[:alnum:]]" 0 194C "z" "[[:alnum:]]" 0 195C "A" "[[:alnum:]]" 0 196C "B" "[[:alnum:]]" 0 197C "C" "[[:alnum:]]" 0 198C "D" "[[:alnum:]]" 0 199C "E" "[[:alnum:]]" 0 200C "F" "[[:alnum:]]" 0 201C "G" "[[:alnum:]]" 0 202C "H" "[[:alnum:]]" 0 203C "I" "[[:alnum:]]" 0 204C "J" "[[:alnum:]]" 0 205C "K" "[[:alnum:]]" 0 206C "L" "[[:alnum:]]" 0 207C "M" "[[:alnum:]]" 0 208C "N" "[[:alnum:]]" 0 209C "O" "[[:alnum:]]" 0 210C "P" "[[:alnum:]]" 0 211C "Q" "[[:alnum:]]" 0 212C "R" "[[:alnum:]]" 0 213C "S" "[[:alnum:]]" 0 214C "T" "[[:alnum:]]" 0 215C "U" "[[:alnum:]]" 0 216C "V" "[[:alnum:]]" 0 217C "W" "[[:alnum:]]" 0 218C "X" "[[:alnum:]]" 0 219C "Y" "[[:alnum:]]" 0 220C "Z" "[[:alnum:]]" 0 221C "0" "[[:alnum:]]" 0 222C "1" "[[:alnum:]]" 0 223C "2" "[[:alnum:]]" 0 224C "3" "[[:alnum:]]" 0 225C "4" "[[:alnum:]]" 0 226C "5" "[[:alnum:]]" 0 227C "6" "[[:alnum:]]" 0 228C "7" "[[:alnum:]]" 0 229C "8" "[[:alnum:]]" 0 230C "9" "[[:alnum:]]" 0 231C "!" "[[:alnum:]]" NOMATCH 232C "#" "[[:alnum:]]" NOMATCH 233C "%" "[[:alnum:]]" NOMATCH 234C "+" "[[:alnum:]]" NOMATCH 235C "," "[[:alnum:]]" NOMATCH 236C "-" "[[:alnum:]]" NOMATCH 237C "." "[[:alnum:]]" NOMATCH 238C "/" "[[:alnum:]]" NOMATCH 239C ":" "[[:alnum:]]" NOMATCH 240C ";" "[[:alnum:]]" NOMATCH 241C "=" "[[:alnum:]]" NOMATCH 242C "@" "[[:alnum:]]" NOMATCH 243C "[" "[[:alnum:]]" NOMATCH 244C "\\" "[[:alnum:]]" NOMATCH 245C "]" "[[:alnum:]]" NOMATCH 246C "^" "[[:alnum:]]" NOMATCH 247C "_" "[[:alnum:]]" NOMATCH 248C "{" "[[:alnum:]]" NOMATCH 249C "}" "[[:alnum:]]" NOMATCH 250C "~" "[[:alnum:]]" NOMATCH 251C "\"" "[[:alnum:]]" NOMATCH 252C "$" "[[:alnum:]]" NOMATCH 253C "&" "[[:alnum:]]" NOMATCH 254C "'" "[[:alnum:]]" NOMATCH 255C "(" "[[:alnum:]]" NOMATCH 256C ")" "[[:alnum:]]" NOMATCH 257C "*" "[[:alnum:]]" NOMATCH 258C "?" "[[:alnum:]]" NOMATCH 259C "`" "[[:alnum:]]" NOMATCH 260C "|" "[[:alnum:]]" NOMATCH 261C "<" "[[:alnum:]]" NOMATCH 262C ">" "[[:alnum:]]" NOMATCH 263C "\t" "[[:cntrl:]]" 0 264C "t" "[[:cntrl:]]" NOMATCH 265C "t" "[[:lower:]]" 0 266C "\t" "[[:lower:]]" NOMATCH 267C "T" "[[:lower:]]" NOMATCH 268C "\t" "[[:space:]]" 0 269C "t" "[[:space:]]" NOMATCH 270C "t" "[[:alpha:]]" 0 271C "\t" "[[:alpha:]]" NOMATCH 272C "0" "[[:digit:]]" 0 273C "\t" "[[:digit:]]" NOMATCH 274C "t" "[[:digit:]]" NOMATCH 275C "\t" "[[:print:]]" NOMATCH 276C "t" "[[:print:]]" 0 277C "T" "[[:upper:]]" 0 278C "\t" "[[:upper:]]" NOMATCH 279C "t" "[[:upper:]]" NOMATCH 280C "\t" "[[:blank:]]" 0 281C "t" "[[:blank:]]" NOMATCH 282C "\t" "[[:graph:]]" NOMATCH 283C "t" "[[:graph:]]" 0 284C "." "[[:punct:]]" 0 285C "t" "[[:punct:]]" NOMATCH 286C "\t" "[[:punct:]]" NOMATCH 287C "0" "[[:xdigit:]]" 0 288C "\t" "[[:xdigit:]]" NOMATCH 289C "a" "[[:xdigit:]]" 0 290C "A" "[[:xdigit:]]" 0 291C "t" "[[:xdigit:]]" NOMATCH 292C "a" "[[alpha]]" NOMATCH 293C "a" "[[alpha:]]" NOMATCH 294C "a]" "[[alpha]]" 0 295C "a]" "[[alpha:]]" 0 296C "a" "[[:alpha:][.b.]]" 0 297C "a" "[[:alpha:][=b=]]" 0 298C "a" "[[:alpha:][:digit:]]" 0 299C "a" "[[:digit:][:alpha:]]" 0 300 301# B.6 018(C) 302C "a" "[a-c]" 0 303C "b" "[a-c]" 0 304C "c" "[a-c]" 0 305C "a" "[b-c]" NOMATCH 306C "d" "[b-c]" NOMATCH 307C "B" "[a-c]" NOMATCH 308C "b" "[A-C]" NOMATCH 309C "" "[a-c]" NOMATCH 310C "as" "[a-ca-z]" NOMATCH 311C "a" "[[.a.]-c]" 0 312C "a" "[a-[.c.]]" 0 313C "a" "[[.a.]-[.c.]]" 0 314C "b" "[[.a.]-c]" 0 315C "b" "[a-[.c.]]" 0 316C "b" "[[.a.]-[.c.]]" 0 317C "c" "[[.a.]-c]" 0 318C "c" "[a-[.c.]]" 0 319C "c" "[[.a.]-[.c.]]" 0 320C "d" "[[.a.]-c]" NOMATCH 321C "d" "[a-[.c.]]" NOMATCH 322C "d" "[[.a.]-[.c.]]" NOMATCH 323 324# B.6 019(C) 325C "a" "[c-a]" NOMATCH 326C "a" "[[.c.]-a]" NOMATCH 327C "a" "[c-[.a.]]" NOMATCH 328C "a" "[[.c.]-[.a.]]" NOMATCH 329C "c" "[c-a]" NOMATCH 330C "c" "[[.c.]-a]" NOMATCH 331C "c" "[c-[.a.]]" NOMATCH 332C "c" "[[.c.]-[.a.]]" NOMATCH 333 334# B.6 020(C) 335C "a" "[a-c0-9]" 0 336C "d" "[a-c0-9]" NOMATCH 337C "B" "[a-c0-9]" NOMATCH 338 339# B.6 021(C) 340C "-" "[-a]" 0 341C "a" "[-b]" NOMATCH 342C "-" "[!-a]" NOMATCH 343C "a" "[!-b]" 0 344C "-" "[a-c-0-9]" 0 345C "b" "[a-c-0-9]" 0 346C "a:" "a[0-9-a]" NOMATCH 347C "a:" "a[09-a]" 0 348 349# B.6 024(C) 350C "" "*" 0 351C "asd/sdf" "*" 0 352 353# B.6 025(C) 354C "as" "[a-c][a-z]" 0 355C "as" "??" 0 356 357# B.6 026(C) 358C "asd/sdf" "as*df" 0 359C "asd/sdf" "as*" 0 360C "asd/sdf" "*df" 0 361C "asd/sdf" "as*dg" NOMATCH 362C "asdf" "as*df" 0 363C "asdf" "as*df?" NOMATCH 364C "asdf" "as*??" 0 365C "asdf" "a*???" 0 366C "asdf" "*????" 0 367C "asdf" "????*" 0 368C "asdf" "??*?" 0 369 370# B.6 027(C) 371C "/" "/" 0 372C "/" "/*" 0 373C "/" "*/" 0 374C "/" "/?" NOMATCH 375C "/" "?/" NOMATCH 376C "/" "?" 0 377C "." "?" 0 378C "/." "??" 0 379C "/" "[!a-c]" 0 380C "." "[!a-c]" 0 381 382# B.6 029(C) 383C "/" "/" 0 PATHNAME 384C "//" "//" 0 PATHNAME 385C "/.a" "/*" 0 PATHNAME 386C "/.a" "/?a" 0 PATHNAME 387C "/.a" "/[!a-z]a" 0 PATHNAME 388C "/.a/.b" "/*/?b" 0 PATHNAME 389 390# B.6 030(C) 391C "/" "?" NOMATCH PATHNAME 392C "/" "*" NOMATCH PATHNAME 393C "a/b" "a?b" NOMATCH PATHNAME 394C "/.a/.b" "/*b" NOMATCH PATHNAME 395 396# B.6 031(C) 397C "/$" "\\/\\$" 0 398C "/[" "\\/\\[" 0 399C "/[" "\\/[" 0 400C "/[]" "\\/\\[]" 0 401 402# B.6 032(C) 403C "/$" "\\/\\$" NOMATCH NOESCAPE 404C "/\\$" "\\/\\$" NOMATCH NOESCAPE 405C "\\/\\$" "\\/\\$" 0 NOESCAPE 406 407# B.6 033(C) 408C ".asd" ".*" 0 PERIOD 409C "/.asd" "*" 0 PERIOD 410C "/as/.df" "*/?*f" 0 PERIOD 411C "..asd" ".[!a-z]*" 0 PERIOD 412 413# B.6 034(C) 414C ".asd" "*" NOMATCH PERIOD 415C ".asd" "?asd" NOMATCH PERIOD 416C ".asd" "[!a-z]*" NOMATCH PERIOD 417 418# B.6 035(C) 419C "/." "/." 0 PATHNAME|PERIOD 420C "/.a./.b." "/.*/.*" 0 PATHNAME|PERIOD 421C "/.a./.b." "/.??/.??" 0 PATHNAME|PERIOD 422 423# B.6 036(C) 424C "/." "*" NOMATCH PATHNAME|PERIOD 425C "/." "/*" NOMATCH PATHNAME|PERIOD 426C "/." "/?" NOMATCH PATHNAME|PERIOD 427C "/." "/[!a-z]" NOMATCH PATHNAME|PERIOD 428C "/a./.b." "/*/*" NOMATCH PATHNAME|PERIOD 429C "/a./.b." "/??/???" NOMATCH PATHNAME|PERIOD 430 431# Some home-grown tests. 432C "foobar" "foo*[abc]z" NOMATCH 433C "foobaz" "foo*[abc][xyz]" 0 434C "foobaz" "foo?*[abc][xyz]" 0 435C "foobaz" "foo?*[abc][x/yz]" 0 436C "foobaz" "foo?*[abc]/[xyz]" NOMATCH PATHNAME 437C "a" "a/" NOMATCH PATHNAME 438C "a/" "a" NOMATCH PATHNAME 439C "//a" "/a" NOMATCH PATHNAME 440C "/a" "//a" NOMATCH PATHNAME 441C "az" "[a-]z" 0 442C "bz" "[ab-]z" 0 443C "cz" "[ab-]z" NOMATCH 444C "-z" "[ab-]z" 0 445C "az" "[-a]z" 0 446C "bz" "[-ab]z" 0 447C "cz" "[-ab]z" NOMATCH 448C "-z" "[-ab]z" 0 449C "\\" "[\\\\-a]" 0 450C "_" "[\\\\-a]" 0 451C "a" "[\\\\-a]" 0 452C "-" "[\\\\-a]" NOMATCH 453C "\\" "[\\]-a]" NOMATCH 454C "_" "[\\]-a]" 0 455C "a" "[\\]-a]" 0 456C "]" "[\\]-a]" 0 457C "-" "[\\]-a]" NOMATCH 458C "\\" "[!\\\\-a]" NOMATCH 459C "_" "[!\\\\-a]" NOMATCH 460C "a" "[!\\\\-a]" NOMATCH 461C "-" "[!\\\\-a]" 0 462C "!" "[\\!-]" 0 463C "-" "[\\!-]" 0 464C "\\" "[\\!-]" NOMATCH 465C "Z" "[Z-\\\\]" 0 466C "[" "[Z-\\\\]" 0 467C "\\" "[Z-\\\\]" 0 468C "-" "[Z-\\\\]" NOMATCH 469C "Z" "[Z-\\]]" 0 470C "[" "[Z-\\]]" 0 471C "\\" "[Z-\\]]" 0 472C "]" "[Z-\\]]" 0 473C "-" "[Z-\\]]" NOMATCH 474 475# B.6 004(C) 476C.UTF-8 "!#%+,-./01234567889" "!#%+,-./01234567889" 0 477C.UTF-8 ":;=@ABCDEFGHIJKLMNO" ":;=@ABCDEFGHIJKLMNO" 0 478C.UTF-8 "PQRSTUVWXYZ]abcdefg" "PQRSTUVWXYZ]abcdefg" 0 479C.UTF-8 "hijklmnopqrstuvwxyz" "hijklmnopqrstuvwxyz" 0 480C.UTF-8 "^_{}~" "^_{}~" 0 481 482# B.6 005(C) 483C.UTF-8 "\"$&'()" "\\\"\\$\\&\\'\\(\\)" 0 484C.UTF-8 "*?[\\`|" "\\*\\?\\[\\\\\\`\\|" 0 485C.UTF-8 "<>" "\\<\\>" 0 486 487# B.6 006(C) 488C.UTF-8 "?*[" "[?*[][?*[][?*[]" 0 489C.UTF-8 "a/b" "?/b" 0 490 491# B.6 007(C) 492C.UTF-8 "a/b" "a?b" 0 493C.UTF-8 "a/b" "a/?" 0 494C.UTF-8 "aa/b" "?/b" NOMATCH 495C.UTF-8 "aa/b" "a?b" NOMATCH 496C.UTF-8 "a/bb" "a/?" NOMATCH 497 498# B.6 009(C) 499C.UTF-8 "abc" "[abc]" NOMATCH 500C.UTF-8 "x" "[abc]" NOMATCH 501C.UTF-8 "a" "[abc]" 0 502C.UTF-8 "[" "[[abc]" 0 503C.UTF-8 "a" "[][abc]" 0 504C.UTF-8 "a]" "[]a]]" 0 505 506# B.6 010(C) 507C.UTF-8 "xyz" "[!abc]" NOMATCH 508C.UTF-8 "x" "[!abc]" 0 509C.UTF-8 "a" "[!abc]" NOMATCH 510 511# B.6 011(C) 512C.UTF-8 "]" "[][abc]" 0 513C.UTF-8 "abc]" "[][abc]" NOMATCH 514C.UTF-8 "[]abc" "[][]abc" NOMATCH 515C.UTF-8 "]" "[!]]" NOMATCH 516C.UTF-8 "aa]" "[!]a]" NOMATCH 517C.UTF-8 "]" "[!a]" 0 518C.UTF-8 "]]" "[!a]]" 0 519 520# B.6 012(C) 521C.UTF-8 "a" "[[.a.]]" 0 522C.UTF-8 "-" "[[.-.]]" 0 523C.UTF-8 "-" "[[.-.][.].]]" 0 524C.UTF-8 "-" "[[.].][.-.]]" 0 525C.UTF-8 "-" "[[.-.][=u=]]" 0 526C.UTF-8 "-" "[[.-.][:alpha:]]" 0 527C.UTF-8 "a" "[![.a.]]" NOMATCH 528 529# B.6 013(C) 530C.UTF-8 "a" "[[.b.]]" NOMATCH 531C.UTF-8 "a" "[[.b.][.c.]]" NOMATCH 532C.UTF-8 "a" "[[.b.][=b=]]" NOMATCH 533 534 535# B.6 015(C) 536C.UTF-8 "a" "[[=a=]]" 0 537C.UTF-8 "b" "[[=a=]b]" 0 538C.UTF-8 "b" "[[=a=][=b=]]" 0 539C.UTF-8 "a" "[[=a=][=b=]]" 0 540C.UTF-8 "a" "[[=a=][.b.]]" 0 541C.UTF-8 "a" "[[=a=][:digit:]]" 0 542 543# B.6 016(C) 544C.UTF-8 "=" "[[=a=]b]" NOMATCH 545C.UTF-8 "]" "[[=a=]b]" NOMATCH 546C.UTF-8 "a" "[[=b=][=c=]]" NOMATCH 547C.UTF-8 "a" "[[=b=][.].]]" NOMATCH 548C.UTF-8 "a" "[[=b=][:digit:]]" NOMATCH 549 550# B.6 017(C) 551C.UTF-8 "a" "[[:alnum:]]" 0 552C.UTF-8 "a" "[![:alnum:]]" NOMATCH 553C.UTF-8 "-" "[[:alnum:]]" NOMATCH 554C.UTF-8 "a]a" "[[:alnum:]]a" NOMATCH 555C.UTF-8 "-" "[[:alnum:]-]" 0 556C.UTF-8 "aa" "[[:alnum:]]a" 0 557C.UTF-8 "-" "[![:alnum:]]" 0 558C.UTF-8 "]" "[!][:alnum:]]" NOMATCH 559C.UTF-8 "[" "[![:alnum:][]" NOMATCH 560C.UTF-8 "a" "[[:alnum:]]" 0 561C.UTF-8 "b" "[[:alnum:]]" 0 562C.UTF-8 "c" "[[:alnum:]]" 0 563C.UTF-8 "d" "[[:alnum:]]" 0 564C.UTF-8 "e" "[[:alnum:]]" 0 565C.UTF-8 "f" "[[:alnum:]]" 0 566C.UTF-8 "g" "[[:alnum:]]" 0 567C.UTF-8 "h" "[[:alnum:]]" 0 568C.UTF-8 "i" "[[:alnum:]]" 0 569C.UTF-8 "j" "[[:alnum:]]" 0 570C.UTF-8 "k" "[[:alnum:]]" 0 571C.UTF-8 "l" "[[:alnum:]]" 0 572C.UTF-8 "m" "[[:alnum:]]" 0 573C.UTF-8 "n" "[[:alnum:]]" 0 574C.UTF-8 "o" "[[:alnum:]]" 0 575C.UTF-8 "p" "[[:alnum:]]" 0 576C.UTF-8 "q" "[[:alnum:]]" 0 577C.UTF-8 "r" "[[:alnum:]]" 0 578C.UTF-8 "s" "[[:alnum:]]" 0 579C.UTF-8 "t" "[[:alnum:]]" 0 580C.UTF-8 "u" "[[:alnum:]]" 0 581C.UTF-8 "v" "[[:alnum:]]" 0 582C.UTF-8 "w" "[[:alnum:]]" 0 583C.UTF-8 "x" "[[:alnum:]]" 0 584C.UTF-8 "y" "[[:alnum:]]" 0 585C.UTF-8 "z" "[[:alnum:]]" 0 586C.UTF-8 "A" "[[:alnum:]]" 0 587C.UTF-8 "B" "[[:alnum:]]" 0 588C.UTF-8 "C" "[[:alnum:]]" 0 589C.UTF-8 "D" "[[:alnum:]]" 0 590C.UTF-8 "E" "[[:alnum:]]" 0 591C.UTF-8 "F" "[[:alnum:]]" 0 592C.UTF-8 "G" "[[:alnum:]]" 0 593C.UTF-8 "H" "[[:alnum:]]" 0 594C.UTF-8 "I" "[[:alnum:]]" 0 595C.UTF-8 "J" "[[:alnum:]]" 0 596C.UTF-8 "K" "[[:alnum:]]" 0 597C.UTF-8 "L" "[[:alnum:]]" 0 598C.UTF-8 "M" "[[:alnum:]]" 0 599C.UTF-8 "N" "[[:alnum:]]" 0 600C.UTF-8 "O" "[[:alnum:]]" 0 601C.UTF-8 "P" "[[:alnum:]]" 0 602C.UTF-8 "Q" "[[:alnum:]]" 0 603C.UTF-8 "R" "[[:alnum:]]" 0 604C.UTF-8 "S" "[[:alnum:]]" 0 605C.UTF-8 "T" "[[:alnum:]]" 0 606C.UTF-8 "U" "[[:alnum:]]" 0 607C.UTF-8 "V" "[[:alnum:]]" 0 608C.UTF-8 "W" "[[:alnum:]]" 0 609C.UTF-8 "X" "[[:alnum:]]" 0 610C.UTF-8 "Y" "[[:alnum:]]" 0 611C.UTF-8 "Z" "[[:alnum:]]" 0 612C.UTF-8 "0" "[[:alnum:]]" 0 613C.UTF-8 "1" "[[:alnum:]]" 0 614C.UTF-8 "2" "[[:alnum:]]" 0 615C.UTF-8 "3" "[[:alnum:]]" 0 616C.UTF-8 "4" "[[:alnum:]]" 0 617C.UTF-8 "5" "[[:alnum:]]" 0 618C.UTF-8 "6" "[[:alnum:]]" 0 619C.UTF-8 "7" "[[:alnum:]]" 0 620C.UTF-8 "8" "[[:alnum:]]" 0 621C.UTF-8 "9" "[[:alnum:]]" 0 622C.UTF-8 "!" "[[:alnum:]]" NOMATCH 623C.UTF-8 "#" "[[:alnum:]]" NOMATCH 624C.UTF-8 "%" "[[:alnum:]]" NOMATCH 625C.UTF-8 "+" "[[:alnum:]]" NOMATCH 626C.UTF-8 "," "[[:alnum:]]" NOMATCH 627C.UTF-8 "-" "[[:alnum:]]" NOMATCH 628C.UTF-8 "." "[[:alnum:]]" NOMATCH 629C.UTF-8 "/" "[[:alnum:]]" NOMATCH 630C.UTF-8 ":" "[[:alnum:]]" NOMATCH 631C.UTF-8 ";" "[[:alnum:]]" NOMATCH 632C.UTF-8 "=" "[[:alnum:]]" NOMATCH 633C.UTF-8 "@" "[[:alnum:]]" NOMATCH 634C.UTF-8 "[" "[[:alnum:]]" NOMATCH 635C.UTF-8 "\\" "[[:alnum:]]" NOMATCH 636C.UTF-8 "]" "[[:alnum:]]" NOMATCH 637C.UTF-8 "^" "[[:alnum:]]" NOMATCH 638C.UTF-8 "_" "[[:alnum:]]" NOMATCH 639C.UTF-8 "{" "[[:alnum:]]" NOMATCH 640C.UTF-8 "}" "[[:alnum:]]" NOMATCH 641C.UTF-8 "~" "[[:alnum:]]" NOMATCH 642C.UTF-8 "\"" "[[:alnum:]]" NOMATCH 643C.UTF-8 "$" "[[:alnum:]]" NOMATCH 644C.UTF-8 "&" "[[:alnum:]]" NOMATCH 645C.UTF-8 "'" "[[:alnum:]]" NOMATCH 646C.UTF-8 "(" "[[:alnum:]]" NOMATCH 647C.UTF-8 ")" "[[:alnum:]]" NOMATCH 648C.UTF-8 "*" "[[:alnum:]]" NOMATCH 649C.UTF-8 "?" "[[:alnum:]]" NOMATCH 650C.UTF-8 "`" "[[:alnum:]]" NOMATCH 651C.UTF-8 "|" "[[:alnum:]]" NOMATCH 652C.UTF-8 "<" "[[:alnum:]]" NOMATCH 653C.UTF-8 ">" "[[:alnum:]]" NOMATCH 654C.UTF-8 "\t" "[[:cntrl:]]" 0 655C.UTF-8 "t" "[[:cntrl:]]" NOMATCH 656C.UTF-8 "t" "[[:lower:]]" 0 657C.UTF-8 "\t" "[[:lower:]]" NOMATCH 658C.UTF-8 "T" "[[:lower:]]" NOMATCH 659C.UTF-8 "\t" "[[:space:]]" 0 660C.UTF-8 "t" "[[:space:]]" NOMATCH 661C.UTF-8 "t" "[[:alpha:]]" 0 662C.UTF-8 "\t" "[[:alpha:]]" NOMATCH 663C.UTF-8 "0" "[[:digit:]]" 0 664C.UTF-8 "\t" "[[:digit:]]" NOMATCH 665C.UTF-8 "t" "[[:digit:]]" NOMATCH 666C.UTF-8 "\t" "[[:print:]]" NOMATCH 667C.UTF-8 "t" "[[:print:]]" 0 668C.UTF-8 "T" "[[:upper:]]" 0 669C.UTF-8 "\t" "[[:upper:]]" NOMATCH 670C.UTF-8 "t" "[[:upper:]]" NOMATCH 671C.UTF-8 "\t" "[[:blank:]]" 0 672C.UTF-8 "t" "[[:blank:]]" NOMATCH 673C.UTF-8 "\t" "[[:graph:]]" NOMATCH 674C.UTF-8 "t" "[[:graph:]]" 0 675C.UTF-8 "." "[[:punct:]]" 0 676C.UTF-8 "t" "[[:punct:]]" NOMATCH 677C.UTF-8 "\t" "[[:punct:]]" NOMATCH 678C.UTF-8 "0" "[[:xdigit:]]" 0 679C.UTF-8 "\t" "[[:xdigit:]]" NOMATCH 680C.UTF-8 "a" "[[:xdigit:]]" 0 681C.UTF-8 "A" "[[:xdigit:]]" 0 682C.UTF-8 "t" "[[:xdigit:]]" NOMATCH 683C.UTF-8 "a" "[[alpha]]" NOMATCH 684C.UTF-8 "a" "[[alpha:]]" NOMATCH 685C.UTF-8 "a]" "[[alpha]]" 0 686C.UTF-8 "a]" "[[alpha:]]" 0 687C.UTF-8 "a" "[[:alpha:][.b.]]" 0 688C.UTF-8 "a" "[[:alpha:][=b=]]" 0 689C.UTF-8 "a" "[[:alpha:][:digit:]]" 0 690C.UTF-8 "a" "[[:digit:][:alpha:]]" 0 691 692# B.6 018(C) 693C.UTF-8 "a" "[a-c]" 0 694C.UTF-8 "b" "[a-c]" 0 695C.UTF-8 "c" "[a-c]" 0 696C.UTF-8 "a" "[b-c]" NOMATCH 697C.UTF-8 "d" "[b-c]" NOMATCH 698C.UTF-8 "B" "[a-c]" NOMATCH 699C.UTF-8 "b" "[A-C]" NOMATCH 700C.UTF-8 "" "[a-c]" NOMATCH 701C.UTF-8 "as" "[a-ca-z]" NOMATCH 702C.UTF-8 "a" "[[.a.]-c]" 0 703C.UTF-8 "a" "[a-[.c.]]" 0 704C.UTF-8 "a" "[[.a.]-[.c.]]" 0 705C.UTF-8 "b" "[[.a.]-c]" 0 706C.UTF-8 "b" "[a-[.c.]]" 0 707C.UTF-8 "b" "[[.a.]-[.c.]]" 0 708C.UTF-8 "c" "[[.a.]-c]" 0 709C.UTF-8 "c" "[a-[.c.]]" 0 710C.UTF-8 "c" "[[.a.]-[.c.]]" 0 711C.UTF-8 "d" "[[.a.]-c]" NOMATCH 712C.UTF-8 "d" "[a-[.c.]]" NOMATCH 713C.UTF-8 "d" "[[.a.]-[.c.]]" NOMATCH 714 715# B.6 019(C) 716C.UTF-8 "a" "[c-a]" NOMATCH 717C.UTF-8 "a" "[[.c.]-a]" NOMATCH 718C.UTF-8 "a" "[c-[.a.]]" NOMATCH 719C.UTF-8 "a" "[[.c.]-[.a.]]" NOMATCH 720C.UTF-8 "c" "[c-a]" NOMATCH 721C.UTF-8 "c" "[[.c.]-a]" NOMATCH 722C.UTF-8 "c" "[c-[.a.]]" NOMATCH 723C.UTF-8 "c" "[[.c.]-[.a.]]" NOMATCH 724 725# B.6 020(C) 726C.UTF-8 "a" "[a-c0-9]" 0 727C.UTF-8 "d" "[a-c0-9]" NOMATCH 728C.UTF-8 "B" "[a-c0-9]" NOMATCH 729 730# B.6 021(C) 731C.UTF-8 "-" "[-a]" 0 732C.UTF-8 "a" "[-b]" NOMATCH 733C.UTF-8 "-" "[!-a]" NOMATCH 734C.UTF-8 "a" "[!-b]" 0 735C.UTF-8 "-" "[a-c-0-9]" 0 736C.UTF-8 "b" "[a-c-0-9]" 0 737C.UTF-8 "a:" "a[0-9-a]" NOMATCH 738C.UTF-8 "a:" "a[09-a]" 0 739 740# B.6 024(C) 741C.UTF-8 "" "*" 0 742C.UTF-8 "asd/sdf" "*" 0 743 744# B.6 025(C) 745C.UTF-8 "as" "[a-c][a-z]" 0 746C.UTF-8 "as" "??" 0 747 748# B.6 026(C) 749C.UTF-8 "asd/sdf" "as*df" 0 750C.UTF-8 "asd/sdf" "as*" 0 751C.UTF-8 "asd/sdf" "*df" 0 752C.UTF-8 "asd/sdf" "as*dg" NOMATCH 753C.UTF-8 "asdf" "as*df" 0 754C.UTF-8 "asdf" "as*df?" NOMATCH 755C.UTF-8 "asdf" "as*??" 0 756C.UTF-8 "asdf" "a*???" 0 757C.UTF-8 "asdf" "*????" 0 758C.UTF-8 "asdf" "????*" 0 759C.UTF-8 "asdf" "??*?" 0 760 761# B.6 027(C) 762C.UTF-8 "/" "/" 0 763C.UTF-8 "/" "/*" 0 764C.UTF-8 "/" "*/" 0 765C.UTF-8 "/" "/?" NOMATCH 766C.UTF-8 "/" "?/" NOMATCH 767C.UTF-8 "/" "?" 0 768C.UTF-8 "." "?" 0 769C.UTF-8 "/." "??" 0 770C.UTF-8 "/" "[!a-c]" 0 771C.UTF-8 "." "[!a-c]" 0 772 773# B.6 029(C) 774C.UTF-8 "/" "/" 0 PATHNAME 775C.UTF-8 "//" "//" 0 PATHNAME 776C.UTF-8 "/.a" "/*" 0 PATHNAME 777C.UTF-8 "/.a" "/?a" 0 PATHNAME 778C.UTF-8 "/.a" "/[!a-z]a" 0 PATHNAME 779C.UTF-8 "/.a/.b" "/*/?b" 0 PATHNAME 780 781# B.6 030(C) 782C.UTF-8 "/" "?" NOMATCH PATHNAME 783C.UTF-8 "/" "*" NOMATCH PATHNAME 784C.UTF-8 "a/b" "a?b" NOMATCH PATHNAME 785C.UTF-8 "/.a/.b" "/*b" NOMATCH PATHNAME 786 787# B.6 031(C) 788C.UTF-8 "/$" "\\/\\$" 0 789C.UTF-8 "/[" "\\/\\[" 0 790C.UTF-8 "/[" "\\/[" 0 791C.UTF-8 "/[]" "\\/\\[]" 0 792 793# B.6 032(C) 794C.UTF-8 "/$" "\\/\\$" NOMATCH NOESCAPE 795C.UTF-8 "/\\$" "\\/\\$" NOMATCH NOESCAPE 796C.UTF-8 "\\/\\$" "\\/\\$" 0 NOESCAPE 797 798# B.6 033(C) 799C.UTF-8 ".asd" ".*" 0 PERIOD 800C.UTF-8 "/.asd" "*" 0 PERIOD 801C.UTF-8 "/as/.df" "*/?*f" 0 PERIOD 802C.UTF-8 "..asd" ".[!a-z]*" 0 PERIOD 803 804# B.6 034(C) 805C.UTF-8 ".asd" "*" NOMATCH PERIOD 806C.UTF-8 ".asd" "?asd" NOMATCH PERIOD 807C.UTF-8 ".asd" "[!a-z]*" NOMATCH PERIOD 808 809# B.6 035(C) 810C.UTF-8 "/." "/." 0 PATHNAME|PERIOD 811C.UTF-8 "/.a./.b." "/.*/.*" 0 PATHNAME|PERIOD 812C.UTF-8 "/.a./.b." "/.??/.??" 0 PATHNAME|PERIOD 813 814# B.6 036(C) 815C.UTF-8 "/." "*" NOMATCH PATHNAME|PERIOD 816C.UTF-8 "/." "/*" NOMATCH PATHNAME|PERIOD 817C.UTF-8 "/." "/?" NOMATCH PATHNAME|PERIOD 818C.UTF-8 "/." "/[!a-z]" NOMATCH PATHNAME|PERIOD 819C.UTF-8 "/a./.b." "/*/*" NOMATCH PATHNAME|PERIOD 820C.UTF-8 "/a./.b." "/??/???" NOMATCH PATHNAME|PERIOD 821 822# Some home-grown tests. 823C.UTF-8 "foobar" "foo*[abc]z" NOMATCH 824C.UTF-8 "foobaz" "foo*[abc][xyz]" 0 825C.UTF-8 "foobaz" "foo?*[abc][xyz]" 0 826C.UTF-8 "foobaz" "foo?*[abc][x/yz]" 0 827C.UTF-8 "foobaz" "foo?*[abc]/[xyz]" NOMATCH PATHNAME 828C.UTF-8 "a" "a/" NOMATCH PATHNAME 829C.UTF-8 "a/" "a" NOMATCH PATHNAME 830C.UTF-8 "//a" "/a" NOMATCH PATHNAME 831C.UTF-8 "/a" "//a" NOMATCH PATHNAME 832C.UTF-8 "az" "[a-]z" 0 833C.UTF-8 "bz" "[ab-]z" 0 834C.UTF-8 "cz" "[ab-]z" NOMATCH 835C.UTF-8 "-z" "[ab-]z" 0 836C.UTF-8 "az" "[-a]z" 0 837C.UTF-8 "bz" "[-ab]z" 0 838C.UTF-8 "cz" "[-ab]z" NOMATCH 839C.UTF-8 "-z" "[-ab]z" 0 840C.UTF-8 "\\" "[\\\\-a]" 0 841C.UTF-8 "_" "[\\\\-a]" 0 842C.UTF-8 "a" "[\\\\-a]" 0 843C.UTF-8 "-" "[\\\\-a]" NOMATCH 844C.UTF-8 "\\" "[\\]-a]" NOMATCH 845C.UTF-8 "_" "[\\]-a]" 0 846C.UTF-8 "a" "[\\]-a]" 0 847C.UTF-8 "]" "[\\]-a]" 0 848C.UTF-8 "-" "[\\]-a]" NOMATCH 849C.UTF-8 "\\" "[!\\\\-a]" NOMATCH 850C.UTF-8 "_" "[!\\\\-a]" NOMATCH 851C.UTF-8 "a" "[!\\\\-a]" NOMATCH 852C.UTF-8 "-" "[!\\\\-a]" 0 853C.UTF-8 "!" "[\\!-]" 0 854C.UTF-8 "-" "[\\!-]" 0 855C.UTF-8 "\\" "[\\!-]" NOMATCH 856C.UTF-8 "Z" "[Z-\\\\]" 0 857C.UTF-8 "[" "[Z-\\\\]" 0 858C.UTF-8 "\\" "[Z-\\\\]" 0 859C.UTF-8 "-" "[Z-\\\\]" NOMATCH 860C.UTF-8 "Z" "[Z-\\]]" 0 861C.UTF-8 "[" "[Z-\\]]" 0 862C.UTF-8 "\\" "[Z-\\]]" 0 863C.UTF-8 "]" "[Z-\\]]" 0 864C.UTF-8 "-" "[Z-\\]]" NOMATCH 865 866# Following are tests outside the scope of IEEE 2003.2 since they are using 867# locales other than the C locale. The main focus of the tests is on the 868# handling of ranges and the recognition of character (vs bytes). 869de_DE.ISO-8859-1 "a" "[a-z]" 0 870de_DE.ISO-8859-1 "z" "[a-z]" 0 871de_DE.ISO-8859-1 "\344" "[a-z]" 0 872de_DE.ISO-8859-1 "\366" "[a-z]" 0 873de_DE.ISO-8859-1 "\374" "[a-z]" 0 874de_DE.ISO-8859-1 "A" "[a-z]" NOMATCH 875de_DE.ISO-8859-1 "Z" "[a-z]" NOMATCH 876de_DE.ISO-8859-1 "\304" "[a-z]" NOMATCH 877de_DE.ISO-8859-1 "\326" "[a-z]" NOMATCH 878de_DE.ISO-8859-1 "\334" "[a-z]" NOMATCH 879de_DE.ISO-8859-1 "a" "[A-Z]" NOMATCH 880de_DE.ISO-8859-1 "z" "[A-Z]" NOMATCH 881de_DE.ISO-8859-1 "\344" "[A-Z]" NOMATCH 882de_DE.ISO-8859-1 "\366" "[A-Z]" NOMATCH 883de_DE.ISO-8859-1 "\374" "[A-Z]" NOMATCH 884de_DE.ISO-8859-1 "A" "[A-Z]" 0 885de_DE.ISO-8859-1 "Z" "[A-Z]" 0 886de_DE.ISO-8859-1 "\304" "[A-Z]" 0 887de_DE.ISO-8859-1 "\326" "[A-Z]" 0 888de_DE.ISO-8859-1 "\334" "[A-Z]" 0 889de_DE.ISO-8859-1 "a" "[[:lower:]]" 0 890de_DE.ISO-8859-1 "z" "[[:lower:]]" 0 891de_DE.ISO-8859-1 "\344" "[[:lower:]]" 0 892de_DE.ISO-8859-1 "\366" "[[:lower:]]" 0 893de_DE.ISO-8859-1 "\374" "[[:lower:]]" 0 894de_DE.ISO-8859-1 "A" "[[:lower:]]" NOMATCH 895de_DE.ISO-8859-1 "Z" "[[:lower:]]" NOMATCH 896de_DE.ISO-8859-1 "\304" "[[:lower:]]" NOMATCH 897de_DE.ISO-8859-1 "\326" "[[:lower:]]" NOMATCH 898de_DE.ISO-8859-1 "\334" "[[:lower:]]" NOMATCH 899de_DE.ISO-8859-1 "a" "[[:upper:]]" NOMATCH 900de_DE.ISO-8859-1 "z" "[[:upper:]]" NOMATCH 901de_DE.ISO-8859-1 "\344" "[[:upper:]]" NOMATCH 902de_DE.ISO-8859-1 "\366" "[[:upper:]]" NOMATCH 903de_DE.ISO-8859-1 "\374" "[[:upper:]]" NOMATCH 904de_DE.ISO-8859-1 "A" "[[:upper:]]" 0 905de_DE.ISO-8859-1 "Z" "[[:upper:]]" 0 906de_DE.ISO-8859-1 "\304" "[[:upper:]]" 0 907de_DE.ISO-8859-1 "\326" "[[:upper:]]" 0 908de_DE.ISO-8859-1 "\334" "[[:upper:]]" 0 909de_DE.ISO-8859-1 "a" "[[:alpha:]]" 0 910de_DE.ISO-8859-1 "z" "[[:alpha:]]" 0 911de_DE.ISO-8859-1 "\344" "[[:alpha:]]" 0 912de_DE.ISO-8859-1 "\366" "[[:alpha:]]" 0 913de_DE.ISO-8859-1 "\374" "[[:alpha:]]" 0 914de_DE.ISO-8859-1 "A" "[[:alpha:]]" 0 915de_DE.ISO-8859-1 "Z" "[[:alpha:]]" 0 916de_DE.ISO-8859-1 "\304" "[[:alpha:]]" 0 917de_DE.ISO-8859-1 "\326" "[[:alpha:]]" 0 918de_DE.ISO-8859-1 "\334" "[[:alpha:]]" 0 919 920de_DE.ISO-8859-1 "a" "[[=a=]b]" 0 921de_DE.ISO-8859-1 "\342" "[[=a=]b]" 0 922de_DE.ISO-8859-1 "\340" "[[=a=]b]" 0 923de_DE.ISO-8859-1 "\341" "[[=a=]b]" 0 924de_DE.ISO-8859-1 "\344" "[[=a=]b]" 0 925de_DE.ISO-8859-1 "b" "[[=a=]b]" 0 926de_DE.ISO-8859-1 "c" "[[=a=]b]" NOMATCH 927de_DE.ISO-8859-1 "a" "[[=\342=]b]" 0 928de_DE.ISO-8859-1 "\342" "[[=\342=]b]" 0 929de_DE.ISO-8859-1 "\340" "[[=\342=]b]" 0 930de_DE.ISO-8859-1 "\341" "[[=\342=]b]" 0 931de_DE.ISO-8859-1 "\344" "[[=\342=]b]" 0 932de_DE.ISO-8859-1 "b" "[[=\342=]b]" 0 933de_DE.ISO-8859-1 "c" "[[=\342=]b]" NOMATCH 934de_DE.ISO-8859-1 "a" "[[=\340=]b]" 0 935de_DE.ISO-8859-1 "\342" "[[=\340=]b]" 0 936de_DE.ISO-8859-1 "\340" "[[=\340=]b]" 0 937de_DE.ISO-8859-1 "\341" "[[=\340=]b]" 0 938de_DE.ISO-8859-1 "\344" "[[=\340=]b]" 0 939de_DE.ISO-8859-1 "b" "[[=\340=]b]" 0 940de_DE.ISO-8859-1 "c" "[[=\340=]b]" NOMATCH 941de_DE.ISO-8859-1 "a" "[[=\341=]b]" 0 942de_DE.ISO-8859-1 "\342" "[[=\341=]b]" 0 943de_DE.ISO-8859-1 "\340" "[[=\341=]b]" 0 944de_DE.ISO-8859-1 "\341" "[[=\341=]b]" 0 945de_DE.ISO-8859-1 "\344" "[[=\341=]b]" 0 946de_DE.ISO-8859-1 "b" "[[=\341=]b]" 0 947de_DE.ISO-8859-1 "c" "[[=\341=]b]" NOMATCH 948de_DE.ISO-8859-1 "a" "[[=\344=]b]" 0 949de_DE.ISO-8859-1 "\342" "[[=\344=]b]" 0 950de_DE.ISO-8859-1 "\340" "[[=\344=]b]" 0 951de_DE.ISO-8859-1 "\341" "[[=\344=]b]" 0 952de_DE.ISO-8859-1 "\344" "[[=\344=]b]" 0 953de_DE.ISO-8859-1 "b" "[[=\344=]b]" 0 954de_DE.ISO-8859-1 "c" "[[=\344=]b]" NOMATCH 955 956de_DE.ISO-8859-1 "aa" "[[.a.]]a" 0 957de_DE.ISO-8859-1 "ba" "[[.a.]]a" NOMATCH 958 959 960# And with a multibyte character set. 961en_US.UTF-8 "a" "[a-z]" 0 962en_US.UTF-8 "z" "[a-z]" 0 963en_US.UTF-8 "A" "[a-z]" NOMATCH 964en_US.UTF-8 "Z" "[a-z]" NOMATCH 965en_US.UTF-8 "a" "[A-Z]" NOMATCH 966en_US.UTF-8 "z" "[A-Z]" NOMATCH 967en_US.UTF-8 "A" "[A-Z]" 0 968en_US.UTF-8 "Z" "[A-Z]" 0 969en_US.UTF-8 "0" "[0-9]" 0 970en_US.UTF-8 "9" "[0-9]" 0 971de_DE.UTF-8 "a" "[a-z]" 0 972de_DE.UTF-8 "z" "[a-z]" 0 973de_DE.UTF-8 "ä" "[a-z]" 0 974de_DE.UTF-8 "ö" "[a-z]" 0 975de_DE.UTF-8 "ü" "[a-z]" 0 976de_DE.UTF-8 "A" "[a-z]" NOMATCH 977de_DE.UTF-8 "Z" "[a-z]" NOMATCH 978de_DE.UTF-8 "Ä" "[a-z]" NOMATCH 979de_DE.UTF-8 "Ö" "[a-z]" NOMATCH 980de_DE.UTF-8 "Ü" "[a-z]" NOMATCH 981de_DE.UTF-8 "a" "[A-Z]" NOMATCH 982de_DE.UTF-8 "z" "[A-Z]" NOMATCH 983de_DE.UTF-8 "ä" "[A-Z]" NOMATCH 984de_DE.UTF-8 "ö" "[A-Z]" NOMATCH 985de_DE.UTF-8 "ü" "[A-Z]" NOMATCH 986de_DE.UTF-8 "A" "[A-Z]" 0 987de_DE.UTF-8 "Z" "[A-Z]" 0 988de_DE.UTF-8 "Ä" "[A-Z]" 0 989de_DE.UTF-8 "Ö" "[A-Z]" 0 990de_DE.UTF-8 "Ü" "[A-Z]" 0 991de_DE.UTF-8 "a" "[[:lower:]]" 0 992de_DE.UTF-8 "z" "[[:lower:]]" 0 993de_DE.UTF-8 "ä" "[[:lower:]]" 0 994de_DE.UTF-8 "ö" "[[:lower:]]" 0 995de_DE.UTF-8 "ü" "[[:lower:]]" 0 996de_DE.UTF-8 "A" "[[:lower:]]" NOMATCH 997de_DE.UTF-8 "Z" "[[:lower:]]" NOMATCH 998de_DE.UTF-8 "Ä" "[[:lower:]]" NOMATCH 999de_DE.UTF-8 "Ö" "[[:lower:]]" NOMATCH 1000de_DE.UTF-8 "Ü" "[[:lower:]]" NOMATCH 1001de_DE.UTF-8 "a" "[[:upper:]]" NOMATCH 1002de_DE.UTF-8 "z" "[[:upper:]]" NOMATCH 1003de_DE.UTF-8 "ä" "[[:upper:]]" NOMATCH 1004de_DE.UTF-8 "ö" "[[:upper:]]" NOMATCH 1005de_DE.UTF-8 "ü" "[[:upper:]]" NOMATCH 1006de_DE.UTF-8 "A" "[[:upper:]]" 0 1007de_DE.UTF-8 "Z" "[[:upper:]]" 0 1008de_DE.UTF-8 "Ä" "[[:upper:]]" 0 1009de_DE.UTF-8 "Ö" "[[:upper:]]" 0 1010de_DE.UTF-8 "Ü" "[[:upper:]]" 0 1011de_DE.UTF-8 "a" "[[:alpha:]]" 0 1012de_DE.UTF-8 "z" "[[:alpha:]]" 0 1013de_DE.UTF-8 "ä" "[[:alpha:]]" 0 1014de_DE.UTF-8 "ö" "[[:alpha:]]" 0 1015de_DE.UTF-8 "ü" "[[:alpha:]]" 0 1016de_DE.UTF-8 "A" "[[:alpha:]]" 0 1017de_DE.UTF-8 "Z" "[[:alpha:]]" 0 1018de_DE.UTF-8 "Ä" "[[:alpha:]]" 0 1019de_DE.UTF-8 "Ö" "[[:alpha:]]" 0 1020de_DE.UTF-8 "Ü" "[[:alpha:]]" 0 1021 1022de_DE.UTF-8 "a" "[[=a=]b]" 0 1023de_DE.UTF-8 "â" "[[=a=]b]" 0 1024de_DE.UTF-8 "à" "[[=a=]b]" 0 1025de_DE.UTF-8 "á" "[[=a=]b]" 0 1026de_DE.UTF-8 "ä" "[[=a=]b]" 0 1027de_DE.UTF-8 "b" "[[=a=]b]" 0 1028de_DE.UTF-8 "c" "[[=a=]b]" NOMATCH 1029de_DE.UTF-8 "a" "[[=â=]b]" 0 1030de_DE.UTF-8 "â" "[[=â=]b]" 0 1031de_DE.UTF-8 "à" "[[=â=]b]" 0 1032de_DE.UTF-8 "á" "[[=â=]b]" 0 1033de_DE.UTF-8 "ä" "[[=â=]b]" 0 1034de_DE.UTF-8 "b" "[[=â=]b]" 0 1035de_DE.UTF-8 "c" "[[=â=]b]" NOMATCH 1036de_DE.UTF-8 "a" "[[=à=]b]" 0 1037de_DE.UTF-8 "â" "[[=à=]b]" 0 1038de_DE.UTF-8 "à" "[[=à=]b]" 0 1039de_DE.UTF-8 "á" "[[=à=]b]" 0 1040de_DE.UTF-8 "ä" "[[=à=]b]" 0 1041de_DE.UTF-8 "b" "[[=à=]b]" 0 1042de_DE.UTF-8 "c" "[[=à=]b]" NOMATCH 1043de_DE.UTF-8 "a" "[[=á=]b]" 0 1044de_DE.UTF-8 "â" "[[=á=]b]" 0 1045de_DE.UTF-8 "à" "[[=á=]b]" 0 1046de_DE.UTF-8 "á" "[[=á=]b]" 0 1047de_DE.UTF-8 "ä" "[[=á=]b]" 0 1048de_DE.UTF-8 "b" "[[=á=]b]" 0 1049de_DE.UTF-8 "c" "[[=á=]b]" NOMATCH 1050de_DE.UTF-8 "a" "[[=ä=]b]" 0 1051de_DE.UTF-8 "â" "[[=ä=]b]" 0 1052de_DE.UTF-8 "à" "[[=ä=]b]" 0 1053de_DE.UTF-8 "á" "[[=ä=]b]" 0 1054de_DE.UTF-8 "ä" "[[=ä=]b]" 0 1055de_DE.UTF-8 "b" "[[=ä=]b]" 0 1056de_DE.UTF-8 "c" "[[=ä=]b]" NOMATCH 1057 1058de_DE.UTF-8 "aa" "[[.a.]]a" 0 1059de_DE.UTF-8 "ba" "[[.a.]]a" NOMATCH 1060 1061 1062# Test of GNU extensions. 1063C "x" "x" 0 PATHNAME|LEADING_DIR 1064C "x/y" "x" 0 PATHNAME|LEADING_DIR 1065C "x/y/z" "x" 0 PATHNAME|LEADING_DIR 1066C "x" "*" 0 PATHNAME|LEADING_DIR 1067C "x/y" "*" 0 PATHNAME|LEADING_DIR 1068C "x/y/z" "*" 0 PATHNAME|LEADING_DIR 1069C "x" "*x" 0 PATHNAME|LEADING_DIR 1070 1071C "x/y" "*x" 0 PATHNAME|LEADING_DIR 1072C "x/y/z" "*x" 0 PATHNAME|LEADING_DIR 1073C "x" "x*" 0 PATHNAME|LEADING_DIR 1074C "x/y" "x*" 0 PATHNAME|LEADING_DIR 1075C "x/y/z" "x*" 0 PATHNAME|LEADING_DIR 1076C "x" "a" NOMATCH PATHNAME|LEADING_DIR 1077C "x/y" "a" NOMATCH PATHNAME|LEADING_DIR 1078C "x/y/z" "a" NOMATCH PATHNAME|LEADING_DIR 1079C "x" "x/y" NOMATCH PATHNAME|LEADING_DIR 1080C "x/y" "x/y" 0 PATHNAME|LEADING_DIR 1081C "x/y/z" "x/y" 0 PATHNAME|LEADING_DIR 1082C "x" "x?y" NOMATCH PATHNAME|LEADING_DIR 1083C "x/y" "x?y" NOMATCH PATHNAME|LEADING_DIR 1084C "x/y/z" "x?y" NOMATCH PATHNAME|LEADING_DIR 1085 1086# Duplicate the "Test of GNU extensions." tests but for C.UTF-8. 1087C.UTF-8 "x" "x" 0 PATHNAME|LEADING_DIR 1088C.UTF-8 "x/y" "x" 0 PATHNAME|LEADING_DIR 1089C.UTF-8 "x/y/z" "x" 0 PATHNAME|LEADING_DIR 1090C.UTF-8 "x" "*" 0 PATHNAME|LEADING_DIR 1091C.UTF-8 "x/y" "*" 0 PATHNAME|LEADING_DIR 1092C.UTF-8 "x/y/z" "*" 0 PATHNAME|LEADING_DIR 1093C.UTF-8 "x" "*x" 0 PATHNAME|LEADING_DIR 1094 1095C.UTF-8 "x/y" "*x" 0 PATHNAME|LEADING_DIR 1096C.UTF-8 "x/y/z" "*x" 0 PATHNAME|LEADING_DIR 1097C.UTF-8 "x" "x*" 0 PATHNAME|LEADING_DIR 1098C.UTF-8 "x/y" "x*" 0 PATHNAME|LEADING_DIR 1099C.UTF-8 "x/y/z" "x*" 0 PATHNAME|LEADING_DIR 1100C.UTF-8 "x" "a" NOMATCH PATHNAME|LEADING_DIR 1101C.UTF-8 "x/y" "a" NOMATCH PATHNAME|LEADING_DIR 1102C.UTF-8 "x/y/z" "a" NOMATCH PATHNAME|LEADING_DIR 1103C.UTF-8 "x" "x/y" NOMATCH PATHNAME|LEADING_DIR 1104C.UTF-8 "x/y" "x/y" 0 PATHNAME|LEADING_DIR 1105C.UTF-8 "x/y/z" "x/y" 0 PATHNAME|LEADING_DIR 1106C.UTF-8 "x" "x?y" NOMATCH PATHNAME|LEADING_DIR 1107C.UTF-8 "x/y" "x?y" NOMATCH PATHNAME|LEADING_DIR 1108C.UTF-8 "x/y/z" "x?y" NOMATCH PATHNAME|LEADING_DIR 1109 1110# Bug 14185 1111en_US.UTF-8 "\366.csv" "*.csv" 0 1112 1113# ksh style matching. 1114C "abcd" "?@(a|b)*@(c)d" 0 EXTMATCH 1115C "/dev/udp/129.22.8.102/45" "/dev/@(tcp|udp)/*/*" 0 PATHNAME|EXTMATCH 1116C "12" "[1-9]*([0-9])" 0 EXTMATCH 1117C "12abc" "[1-9]*([0-9])" NOMATCH EXTMATCH 1118C "1" "[1-9]*([0-9])" 0 EXTMATCH 1119C "07" "+([0-7])" 0 EXTMATCH 1120C "0377" "+([0-7])" 0 EXTMATCH 1121C "09" "+([0-7])" NOMATCH EXTMATCH 1122C "paragraph" "para@(chute|graph)" 0 EXTMATCH 1123C "paramour" "para@(chute|graph)" NOMATCH EXTMATCH 1124C "para991" "para?([345]|99)1" 0 EXTMATCH 1125C "para381" "para?([345]|99)1" NOMATCH EXTMATCH 1126C "paragraph" "para*([0-9])" NOMATCH EXTMATCH 1127C "para" "para*([0-9])" 0 EXTMATCH 1128C "para13829383746592" "para*([0-9])" 0 EXTMATCH 1129C "paragraph" "para+([0-9])" NOMATCH EXTMATCH 1130C "para" "para+([0-9])" NOMATCH EXTMATCH 1131C "para987346523" "para+([0-9])" 0 EXTMATCH 1132C "paragraph" "para!(*.[0-9])" 0 EXTMATCH 1133C "para.38" "para!(*.[0-9])" 0 EXTMATCH 1134C "para.graph" "para!(*.[0-9])" 0 EXTMATCH 1135C "para39" "para!(*.[0-9])" 0 EXTMATCH 1136C "" "*(0|1|3|5|7|9)" 0 EXTMATCH 1137C "137577991" "*(0|1|3|5|7|9)" 0 EXTMATCH 1138C "2468" "*(0|1|3|5|7|9)" NOMATCH EXTMATCH 1139C "1358" "*(0|1|3|5|7|9)" NOMATCH EXTMATCH 1140C "file.c" "*.c?(c)" 0 EXTMATCH 1141C "file.C" "*.c?(c)" NOMATCH EXTMATCH 1142C "file.cc" "*.c?(c)" 0 EXTMATCH 1143C "file.ccc" "*.c?(c)" NOMATCH EXTMATCH 1144C "parse.y" "!(*.c|*.h|Makefile.in|config*|README)" 0 EXTMATCH 1145C "shell.c" "!(*.c|*.h|Makefile.in|config*|README)" NOMATCH EXTMATCH 1146C "Makefile" "!(*.c|*.h|Makefile.in|config*|README)" 0 EXTMATCH 1147C "VMS.FILE;1" "*\;[1-9]*([0-9])" 0 EXTMATCH 1148C "VMS.FILE;0" "*\;[1-9]*([0-9])" NOMATCH EXTMATCH 1149C "VMS.FILE;" "*\;[1-9]*([0-9])" NOMATCH EXTMATCH 1150C "VMS.FILE;139" "*\;[1-9]*([0-9])" 0 EXTMATCH 1151C "VMS.FILE;1N" "*\;[1-9]*([0-9])" NOMATCH EXTMATCH 1152C "abcfefg" "ab**(e|f)" 0 EXTMATCH 1153C "abcfefg" "ab**(e|f)g" 0 EXTMATCH 1154C "ab" "ab*+(e|f)" NOMATCH EXTMATCH 1155C "abef" "ab***ef" 0 EXTMATCH 1156C "abef" "ab**" 0 EXTMATCH 1157C "fofo" "*(f*(o))" 0 EXTMATCH 1158C "ffo" "*(f*(o))" 0 EXTMATCH 1159C "foooofo" "*(f*(o))" 0 EXTMATCH 1160C "foooofof" "*(f*(o))" 0 EXTMATCH 1161C "fooofoofofooo" "*(f*(o))" 0 EXTMATCH 1162C "foooofof" "*(f+(o))" NOMATCH EXTMATCH 1163C "xfoooofof" "*(f*(o))" NOMATCH EXTMATCH 1164C "foooofofx" "*(f*(o))" NOMATCH EXTMATCH 1165C "ofxoofxo" "*(*(of*(o)x)o)" 0 EXTMATCH 1166C "ofooofoofofooo" "*(f*(o))" NOMATCH EXTMATCH 1167C "foooxfooxfoxfooox" "*(f*(o)x)" 0 EXTMATCH 1168C "foooxfooxofoxfooox" "*(f*(o)x)" NOMATCH EXTMATCH 1169C "foooxfooxfxfooox" "*(f*(o)x)" 0 EXTMATCH 1170C "ofxoofxo" "*(*(of*(o)x)o)" 0 EXTMATCH 1171C "ofoooxoofxo" "*(*(of*(o)x)o)" 0 EXTMATCH 1172C "ofoooxoofxoofoooxoofxo" "*(*(of*(o)x)o)" 0 EXTMATCH 1173C "ofoooxoofxoofoooxoofxoo" "*(*(of*(o)x)o)" 0 EXTMATCH 1174C "ofoooxoofxoofoooxoofxofo" "*(*(of*(o)x)o)" NOMATCH EXTMATCH 1175C "ofoooxoofxoofoooxoofxooofxofxo" "*(*(of*(o)x)o)" 0 EXTMATCH 1176C "aac" "*(@(a))a@(c)" 0 EXTMATCH 1177C "ac" "*(@(a))a@(c)" 0 EXTMATCH 1178C "c" "*(@(a))a@(c)" NOMATCH EXTMATCH 1179C "aaac" "*(@(a))a@(c)" 0 EXTMATCH 1180C "baaac" "*(@(a))a@(c)" NOMATCH EXTMATCH 1181C "abcd" "?@(a|b)*@(c)d" 0 EXTMATCH 1182C "abcd" "@(ab|a*@(b))*(c)d" 0 EXTMATCH 1183C "acd" "@(ab|a*(b))*(c)d" 0 EXTMATCH 1184C "abbcd" "@(ab|a*(b))*(c)d" 0 EXTMATCH 1185C "effgz" "@(b+(c)d|e*(f)g?|?(h)i@(j|k))" 0 EXTMATCH 1186C "efgz" "@(b+(c)d|e*(f)g?|?(h)i@(j|k))" 0 EXTMATCH 1187C "egz" "@(b+(c)d|e*(f)g?|?(h)i@(j|k))" 0 EXTMATCH 1188C "egzefffgzbcdij" "*(b+(c)d|e*(f)g?|?(h)i@(j|k))" 0 EXTMATCH 1189C "egz" "@(b+(c)d|e+(f)g?|?(h)i@(j|k))" NOMATCH EXTMATCH 1190C "ofoofo" "*(of+(o))" 0 EXTMATCH 1191C "oxfoxoxfox" "*(oxf+(ox))" 0 EXTMATCH 1192C "oxfoxfox" "*(oxf+(ox))" NOMATCH EXTMATCH 1193C "ofoofo" "*(of+(o)|f)" 0 EXTMATCH 1194C "foofoofo" "@(foo|f|fo)*(f|of+(o))" 0 EXTMATCH 1195C "oofooofo" "*(of|oof+(o))" 0 EXTMATCH 1196C "fffooofoooooffoofffooofff" "*(*(f)*(o))" 0 EXTMATCH 1197C "fofoofoofofoo" "*(fo|foo)" 0 EXTMATCH 1198C "foo" "!(x)" 0 EXTMATCH 1199C "foo" "!(x)*" 0 EXTMATCH 1200C "foo" "!(foo)" NOMATCH EXTMATCH 1201C "foo" "!(foo)*" 0 EXTMATCH 1202C "foobar" "!(foo)" 0 EXTMATCH 1203C "foobar" "!(foo)*" 0 EXTMATCH 1204C "moo.cow" "!(*.*).!(*.*)" 0 EXTMATCH 1205C "mad.moo.cow" "!(*.*).!(*.*)" NOMATCH EXTMATCH 1206C "mucca.pazza" "mu!(*(c))?.pa!(*(z))?" NOMATCH EXTMATCH 1207C "fff" "!(f)" 0 EXTMATCH 1208C "fff" "*(!(f))" 0 EXTMATCH 1209C "fff" "+(!(f))" 0 EXTMATCH 1210C "ooo" "!(f)" 0 EXTMATCH 1211C "ooo" "*(!(f))" 0 EXTMATCH 1212C "ooo" "+(!(f))" 0 EXTMATCH 1213C "foo" "!(f)" 0 EXTMATCH 1214C "foo" "*(!(f))" 0 EXTMATCH 1215C "foo" "+(!(f))" 0 EXTMATCH 1216C "f" "!(f)" NOMATCH EXTMATCH 1217C "f" "*(!(f))" NOMATCH EXTMATCH 1218C "f" "+(!(f))" NOMATCH EXTMATCH 1219C "foot" "@(!(z*)|*x)" 0 EXTMATCH 1220C "zoot" "@(!(z*)|*x)" NOMATCH EXTMATCH 1221C "foox" "@(!(z*)|*x)" 0 EXTMATCH 1222C "zoox" "@(!(z*)|*x)" 0 EXTMATCH 1223C "foo" "*(!(foo))" 0 EXTMATCH 1224C "foob" "!(foo)b*" NOMATCH EXTMATCH 1225C "foobb" "!(foo)b*" 0 EXTMATCH 1226C "[" "*([a[])" 0 EXTMATCH 1227C "]" "*([]a[])" 0 EXTMATCH 1228C "a" "*([]a[])" 0 EXTMATCH 1229C "b" "*([!]a[])" 0 EXTMATCH 1230C "[" "*([!]a[]|[[])" 0 EXTMATCH 1231C "]" "*([!]a[]|[]])" 0 EXTMATCH 1232C "[" "!([!]a[])" 0 EXTMATCH 1233C "]" "!([!]a[])" 0 EXTMATCH 1234C ")" "*([)])" 0 EXTMATCH 1235C "*" "*([*(])" 0 EXTMATCH 1236C "abcd" "*!(|a)cd" 0 EXTMATCH 1237C "ab/.a" "+([abc])/*" NOMATCH EXTMATCH|PATHNAME|PERIOD 1238C "" "" 0 1239C "" "" 0 EXTMATCH 1240C "" "*([abc])" 0 EXTMATCH 1241C "" "?([abc])" 0 EXTMATCH 1242 1243# Duplicate the "ksh style matching." for C.UTF-8. 1244C.UTF-8 "abcd" "?@(a|b)*@(c)d" 0 EXTMATCH 1245C.UTF-8 "/dev/udp/129.22.8.102/45" "/dev/@(tcp|udp)/*/*" 0 PATHNAME|EXTMATCH 1246C.UTF-8 "12" "[1-9]*([0-9])" 0 EXTMATCH 1247C.UTF-8 "12abc" "[1-9]*([0-9])" NOMATCH EXTMATCH 1248C.UTF-8 "1" "[1-9]*([0-9])" 0 EXTMATCH 1249C.UTF-8 "07" "+([0-7])" 0 EXTMATCH 1250C.UTF-8 "0377" "+([0-7])" 0 EXTMATCH 1251C.UTF-8 "09" "+([0-7])" NOMATCH EXTMATCH 1252C.UTF-8 "paragraph" "para@(chute|graph)" 0 EXTMATCH 1253C.UTF-8 "paramour" "para@(chute|graph)" NOMATCH EXTMATCH 1254C.UTF-8 "para991" "para?([345]|99)1" 0 EXTMATCH 1255C.UTF-8 "para381" "para?([345]|99)1" NOMATCH EXTMATCH 1256C.UTF-8 "paragraph" "para*([0-9])" NOMATCH EXTMATCH 1257C.UTF-8 "para" "para*([0-9])" 0 EXTMATCH 1258C.UTF-8 "para13829383746592" "para*([0-9])" 0 EXTMATCH 1259C.UTF-8 "paragraph" "para+([0-9])" NOMATCH EXTMATCH 1260C.UTF-8 "para" "para+([0-9])" NOMATCH EXTMATCH 1261C.UTF-8 "para987346523" "para+([0-9])" 0 EXTMATCH 1262C.UTF-8 "paragraph" "para!(*.[0-9])" 0 EXTMATCH 1263C.UTF-8 "para.38" "para!(*.[0-9])" 0 EXTMATCH 1264C.UTF-8 "para.graph" "para!(*.[0-9])" 0 EXTMATCH 1265C.UTF-8 "para39" "para!(*.[0-9])" 0 EXTMATCH 1266C.UTF-8 "" "*(0|1|3|5|7|9)" 0 EXTMATCH 1267C.UTF-8 "137577991" "*(0|1|3|5|7|9)" 0 EXTMATCH 1268C.UTF-8 "2468" "*(0|1|3|5|7|9)" NOMATCH EXTMATCH 1269C.UTF-8 "1358" "*(0|1|3|5|7|9)" NOMATCH EXTMATCH 1270C.UTF-8 "file.c" "*.c?(c)" 0 EXTMATCH 1271C.UTF-8 "file.C" "*.c?(c)" NOMATCH EXTMATCH 1272C.UTF-8 "file.cc" "*.c?(c)" 0 EXTMATCH 1273C.UTF-8 "file.ccc" "*.c?(c)" NOMATCH EXTMATCH 1274C.UTF-8 "parse.y" "!(*.c|*.h|Makefile.in|config*|README)" 0 EXTMATCH 1275C.UTF-8 "shell.c" "!(*.c|*.h|Makefile.in|config*|README)" NOMATCH EXTMATCH 1276C.UTF-8 "Makefile" "!(*.c|*.h|Makefile.in|config*|README)" 0 EXTMATCH 1277C.UTF-8 "VMS.FILE;1" "*\;[1-9]*([0-9])" 0 EXTMATCH 1278C.UTF-8 "VMS.FILE;0" "*\;[1-9]*([0-9])" NOMATCH EXTMATCH 1279C.UTF-8 "VMS.FILE;" "*\;[1-9]*([0-9])" NOMATCH EXTMATCH 1280C.UTF-8 "VMS.FILE;139" "*\;[1-9]*([0-9])" 0 EXTMATCH 1281C.UTF-8 "VMS.FILE;1N" "*\;[1-9]*([0-9])" NOMATCH EXTMATCH 1282C.UTF-8 "abcfefg" "ab**(e|f)" 0 EXTMATCH 1283C.UTF-8 "abcfefg" "ab**(e|f)g" 0 EXTMATCH 1284C.UTF-8 "ab" "ab*+(e|f)" NOMATCH EXTMATCH 1285C.UTF-8 "abef" "ab***ef" 0 EXTMATCH 1286C.UTF-8 "abef" "ab**" 0 EXTMATCH 1287C.UTF-8 "fofo" "*(f*(o))" 0 EXTMATCH 1288C.UTF-8 "ffo" "*(f*(o))" 0 EXTMATCH 1289C.UTF-8 "foooofo" "*(f*(o))" 0 EXTMATCH 1290C.UTF-8 "foooofof" "*(f*(o))" 0 EXTMATCH 1291C.UTF-8 "fooofoofofooo" "*(f*(o))" 0 EXTMATCH 1292C.UTF-8 "foooofof" "*(f+(o))" NOMATCH EXTMATCH 1293C.UTF-8 "xfoooofof" "*(f*(o))" NOMATCH EXTMATCH 1294C.UTF-8 "foooofofx" "*(f*(o))" NOMATCH EXTMATCH 1295C.UTF-8 "ofxoofxo" "*(*(of*(o)x)o)" 0 EXTMATCH 1296C.UTF-8 "ofooofoofofooo" "*(f*(o))" NOMATCH EXTMATCH 1297C.UTF-8 "foooxfooxfoxfooox" "*(f*(o)x)" 0 EXTMATCH 1298C.UTF-8 "foooxfooxofoxfooox" "*(f*(o)x)" NOMATCH EXTMATCH 1299C.UTF-8 "foooxfooxfxfooox" "*(f*(o)x)" 0 EXTMATCH 1300C.UTF-8 "ofxoofxo" "*(*(of*(o)x)o)" 0 EXTMATCH 1301C.UTF-8 "ofoooxoofxo" "*(*(of*(o)x)o)" 0 EXTMATCH 1302C.UTF-8 "ofoooxoofxoofoooxoofxo" "*(*(of*(o)x)o)" 0 EXTMATCH 1303C.UTF-8 "ofoooxoofxoofoooxoofxoo" "*(*(of*(o)x)o)" 0 EXTMATCH 1304C.UTF-8 "ofoooxoofxoofoooxoofxofo" "*(*(of*(o)x)o)" NOMATCH EXTMATCH 1305C.UTF-8 "ofoooxoofxoofoooxoofxooofxofxo" "*(*(of*(o)x)o)" 0 EXTMATCH 1306C.UTF-8 "aac" "*(@(a))a@(c)" 0 EXTMATCH 1307C.UTF-8 "ac" "*(@(a))a@(c)" 0 EXTMATCH 1308C.UTF-8 "c" "*(@(a))a@(c)" NOMATCH EXTMATCH 1309C.UTF-8 "aaac" "*(@(a))a@(c)" 0 EXTMATCH 1310C.UTF-8 "baaac" "*(@(a))a@(c)" NOMATCH EXTMATCH 1311C.UTF-8 "abcd" "?@(a|b)*@(c)d" 0 EXTMATCH 1312C.UTF-8 "abcd" "@(ab|a*@(b))*(c)d" 0 EXTMATCH 1313C.UTF-8 "acd" "@(ab|a*(b))*(c)d" 0 EXTMATCH 1314C.UTF-8 "abbcd" "@(ab|a*(b))*(c)d" 0 EXTMATCH 1315C.UTF-8 "effgz" "@(b+(c)d|e*(f)g?|?(h)i@(j|k))" 0 EXTMATCH 1316C.UTF-8 "efgz" "@(b+(c)d|e*(f)g?|?(h)i@(j|k))" 0 EXTMATCH 1317C.UTF-8 "egz" "@(b+(c)d|e*(f)g?|?(h)i@(j|k))" 0 EXTMATCH 1318C.UTF-8 "egzefffgzbcdij" "*(b+(c)d|e*(f)g?|?(h)i@(j|k))" 0 EXTMATCH 1319C.UTF-8 "egz" "@(b+(c)d|e+(f)g?|?(h)i@(j|k))" NOMATCH EXTMATCH 1320C.UTF-8 "ofoofo" "*(of+(o))" 0 EXTMATCH 1321C.UTF-8 "oxfoxoxfox" "*(oxf+(ox))" 0 EXTMATCH 1322C.UTF-8 "oxfoxfox" "*(oxf+(ox))" NOMATCH EXTMATCH 1323C.UTF-8 "ofoofo" "*(of+(o)|f)" 0 EXTMATCH 1324C.UTF-8 "foofoofo" "@(foo|f|fo)*(f|of+(o))" 0 EXTMATCH 1325C.UTF-8 "oofooofo" "*(of|oof+(o))" 0 EXTMATCH 1326C.UTF-8 "fffooofoooooffoofffooofff" "*(*(f)*(o))" 0 EXTMATCH 1327C.UTF-8 "fofoofoofofoo" "*(fo|foo)" 0 EXTMATCH 1328C.UTF-8 "foo" "!(x)" 0 EXTMATCH 1329C.UTF-8 "foo" "!(x)*" 0 EXTMATCH 1330C.UTF-8 "foo" "!(foo)" NOMATCH EXTMATCH 1331C.UTF-8 "foo" "!(foo)*" 0 EXTMATCH 1332C.UTF-8 "foobar" "!(foo)" 0 EXTMATCH 1333C.UTF-8 "foobar" "!(foo)*" 0 EXTMATCH 1334C.UTF-8 "moo.cow" "!(*.*).!(*.*)" 0 EXTMATCH 1335C.UTF-8 "mad.moo.cow" "!(*.*).!(*.*)" NOMATCH EXTMATCH 1336C.UTF-8 "mucca.pazza" "mu!(*(c))?.pa!(*(z))?" NOMATCH EXTMATCH 1337C.UTF-8 "fff" "!(f)" 0 EXTMATCH 1338C.UTF-8 "fff" "*(!(f))" 0 EXTMATCH 1339C.UTF-8 "fff" "+(!(f))" 0 EXTMATCH 1340C.UTF-8 "ooo" "!(f)" 0 EXTMATCH 1341C.UTF-8 "ooo" "*(!(f))" 0 EXTMATCH 1342C.UTF-8 "ooo" "+(!(f))" 0 EXTMATCH 1343C.UTF-8 "foo" "!(f)" 0 EXTMATCH 1344C.UTF-8 "foo" "*(!(f))" 0 EXTMATCH 1345C.UTF-8 "foo" "+(!(f))" 0 EXTMATCH 1346C.UTF-8 "f" "!(f)" NOMATCH EXTMATCH 1347C.UTF-8 "f" "*(!(f))" NOMATCH EXTMATCH 1348C.UTF-8 "f" "+(!(f))" NOMATCH EXTMATCH 1349C.UTF-8 "foot" "@(!(z*)|*x)" 0 EXTMATCH 1350C.UTF-8 "zoot" "@(!(z*)|*x)" NOMATCH EXTMATCH 1351C.UTF-8 "foox" "@(!(z*)|*x)" 0 EXTMATCH 1352C.UTF-8 "zoox" "@(!(z*)|*x)" 0 EXTMATCH 1353C.UTF-8 "foo" "*(!(foo))" 0 EXTMATCH 1354C.UTF-8 "foob" "!(foo)b*" NOMATCH EXTMATCH 1355C.UTF-8 "foobb" "!(foo)b*" 0 EXTMATCH 1356C.UTF-8 "[" "*([a[])" 0 EXTMATCH 1357C.UTF-8 "]" "*([]a[])" 0 EXTMATCH 1358C.UTF-8 "a" "*([]a[])" 0 EXTMATCH 1359C.UTF-8 "b" "*([!]a[])" 0 EXTMATCH 1360C.UTF-8 "[" "*([!]a[]|[[])" 0 EXTMATCH 1361C.UTF-8 "]" "*([!]a[]|[]])" 0 EXTMATCH 1362C.UTF-8 "[" "!([!]a[])" 0 EXTMATCH 1363C.UTF-8 "]" "!([!]a[])" 0 EXTMATCH 1364C.UTF-8 ")" "*([)])" 0 EXTMATCH 1365C.UTF-8 "*" "*([*(])" 0 EXTMATCH 1366C.UTF-8 "abcd" "*!(|a)cd" 0 EXTMATCH 1367C.UTF-8 "ab/.a" "+([abc])/*" NOMATCH EXTMATCH|PATHNAME|PERIOD 1368C.UTF-8 "" "" 0 1369C.UTF-8 "" "" 0 EXTMATCH 1370C.UTF-8 "" "*([abc])" 0 EXTMATCH 1371C.UTF-8 "" "?([abc])" 0 EXTMATCH 1372