testRegex "-- Do not use the \\x{} construct except with patterns that have the --" [] ["/-- /8 option set, because PCRE doesn't recognize them as UTF-8 unless --/", "/-- that option is set. However, the latest Perls recognize them always. --/"] [Just ["/-- /8 option set, because PCRE doesn't recognize them as UTF-8 unless --/"], Nothing, Just ["/-- that option is set. However, the latest Perls recognize them always. --/"], Nothing] , testRegex "a.b" [ERROR] ["acb", "a\\x7fb", "a\\x{100}b ", "*** Failers", "a\\nb "] [Just [" 0: acb"], Just [" 0: a\\x{7f}b"], Just [" 0: a\\x{100}b"], Nothing, Nothing] , testRegex "a(.{3})b" [ERROR] ["a\\x{4000}xyb ", "a\\x{4000}\\x7fyb ", "a\\x{4000}\\x{100}yb ", "*** Failers", "a\\x{4000}b ", "ac\\ncb "] [Just [" 0: a\\x{4000}xyb"], Just [" 1: \\x{4000}xy"], Just [" 0: a\\x{4000}\\x{7f}yb"], Just [" 1: \\x{4000}\\x{7f}y"], Just [" 0: a\\x{4000}\\x{100}yb"], Just [" 1: \\x{4000}\\x{100}y"], Nothing, Nothing, Nothing] , testRegex "a(.*?)(.)" [] ["a\\xc0\\x88b"] [Just [" 0: a\\xc0"], Just [" 1: "], Just [" 2: \\xc0"]] , testRegex "a(.*?)(.)" [ERROR] ["a\\x{100}b"] [Just [" 0: a\\x{100}"], Just [" 1: "], Just [" 2: \\x{100}"]] , testRegex "a(.*)(.)" [] ["a\\xc0\\x88b"] [Just [" 0: a\\xc0\\x88b"], Just [" 1: \\xc0\\x88"], Just [" 2: b"]] , testRegex "a(.*)(.)" [ERROR] ["a\\x{100}b"] [Just [" 0: a\\x{100}b"], Just [" 1: \\x{100}"], Just [" 2: b"]] , testRegex "a(.)(.)" [] ["a\\xc0\\x92bcd"] [Just [" 0: a\\xc0\\x92"], Just [" 1: \\xc0"], Just [" 2: \\x92"]] , testRegex "a(.)(.)" [ERROR] ["a\\x{240}bcd"] [Just [" 0: a\\x{240}b"], Just [" 1: \\x{240}"], Just [" 2: b"]] , testRegex "a(.?)(.)" [] ["a\\xc0\\x92bcd"] [Just [" 0: a\\xc0\\x92"], Just [" 1: \\xc0"], Just [" 2: \\x92"]] , testRegex "a(.?)(.)" [ERROR] ["a\\x{240}bcd"] [Just [" 0: a\\x{240}b"], Just [" 1: \\x{240}"], Just [" 2: b"]] , testRegex "a(.??)(.)" [] ["a\\xc0\\x92bcd"] [Just [" 0: a\\xc0"], Just [" 1: "], Just [" 2: \\xc0"]] , testRegex "a(.??)(.)" [ERROR] ["a\\x{240}bcd"] [Just [" 0: a\\x{240}"], Just [" 1: "], Just [" 2: \\x{240}"]] , testRegex "a(.{3})b" [ERROR] ["a\\x{1234}xyb ", "a\\x{1234}\\x{4321}yb ", "a\\x{1234}\\x{4321}\\x{3412}b ", "*** Failers", "a\\x{1234}b ", "ac\\ncb "] [Just [" 0: a\\x{1234}xyb"], Just [" 1: \\x{1234}xy"], Just [" 0: a\\x{1234}\\x{4321}yb"], Just [" 1: \\x{1234}\\x{4321}y"], Just [" 0: a\\x{1234}\\x{4321}\\x{3412}b"], Just [" 1: \\x{1234}\\x{4321}\\x{3412}"], Nothing, Nothing, Nothing] , testRegex "a(.{3,})b" [ERROR] ["a\\x{1234}xyb ", "a\\x{1234}\\x{4321}yb ", "a\\x{1234}\\x{4321}\\x{3412}b ", "axxxxbcdefghijb ", "a\\x{1234}\\x{4321}\\x{3412}\\x{3421}b ", "*** Failers", "a\\x{1234}b "] [Just [" 0: a\\x{1234}xyb"], Just [" 1: \\x{1234}xy"], Just [" 0: a\\x{1234}\\x{4321}yb"], Just [" 1: \\x{1234}\\x{4321}y"], Just [" 0: a\\x{1234}\\x{4321}\\x{3412}b"], Just [" 1: \\x{1234}\\x{4321}\\x{3412}"], Just [" 0: axxxxbcdefghijb"], Just [" 1: xxxxbcdefghij"], Just [" 0: a\\x{1234}\\x{4321}\\x{3412}\\x{3421}b"], Just [" 1: \\x{1234}\\x{4321}\\x{3412}\\x{3421}"], Nothing, Nothing] , testRegex "a(.{3,}?)b" [ERROR] ["a\\x{1234}xyb ", "a\\x{1234}\\x{4321}yb ", "a\\x{1234}\\x{4321}\\x{3412}b ", "axxxxbcdefghijb ", "a\\x{1234}\\x{4321}\\x{3412}\\x{3421}b ", "*** Failers", "a\\x{1234}b "] [Just [" 0: a\\x{1234}xyb"], Just [" 1: \\x{1234}xy"], Just [" 0: a\\x{1234}\\x{4321}yb"], Just [" 1: \\x{1234}\\x{4321}y"], Just [" 0: a\\x{1234}\\x{4321}\\x{3412}b"], Just [" 1: \\x{1234}\\x{4321}\\x{3412}"], Just [" 0: axxxxb"], Just [" 1: xxxx"], Just [" 0: a\\x{1234}\\x{4321}\\x{3412}\\x{3421}b"], Just [" 1: \\x{1234}\\x{4321}\\x{3412}\\x{3421}"], Nothing, Nothing] , testRegex "a(.{3,5})b" [ERROR] ["a\\x{1234}xyb ", "a\\x{1234}\\x{4321}yb ", "a\\x{1234}\\x{4321}\\x{3412}b ", "axxxxbcdefghijb ", "a\\x{1234}\\x{4321}\\x{3412}\\x{3421}b ", "axbxxbcdefghijb ", "axxxxxbcdefghijb ", "*** Failers", "a\\x{1234}b ", "axxxxxxbcdefghijb "] [Just [" 0: a\\x{1234}xyb"], Just [" 1: \\x{1234}xy"], Just [" 0: a\\x{1234}\\x{4321}yb"], Just [" 1: \\x{1234}\\x{4321}y"], Just [" 0: a\\x{1234}\\x{4321}\\x{3412}b"], Just [" 1: \\x{1234}\\x{4321}\\x{3412}"], Just [" 0: axxxxb"], Just [" 1: xxxx"], Just [" 0: a\\x{1234}\\x{4321}\\x{3412}\\x{3421}b"], Just [" 1: \\x{1234}\\x{4321}\\x{3412}\\x{3421}"], Just [" 0: axbxxb"], Just [" 1: xbxx"], Just [" 0: axxxxxb"], Just [" 1: xxxxx"], Nothing, Nothing, Nothing] , testRegex "a(.{3,5}?)b" [ERROR] ["a\\x{1234}xyb ", "a\\x{1234}\\x{4321}yb ", "a\\x{1234}\\x{4321}\\x{3412}b ", "axxxxbcdefghijb ", "a\\x{1234}\\x{4321}\\x{3412}\\x{3421}b ", "axbxxbcdefghijb ", "axxxxxbcdefghijb ", "*** Failers", "a\\x{1234}b ", "axxxxxxbcdefghijb "] [Just [" 0: a\\x{1234}xyb"], Just [" 1: \\x{1234}xy"], Just [" 0: a\\x{1234}\\x{4321}yb"], Just [" 1: \\x{1234}\\x{4321}y"], Just [" 0: a\\x{1234}\\x{4321}\\x{3412}b"], Just [" 1: \\x{1234}\\x{4321}\\x{3412}"], Just [" 0: axxxxb"], Just [" 1: xxxx"], Just [" 0: a\\x{1234}\\x{4321}\\x{3412}\\x{3421}b"], Just [" 1: \\x{1234}\\x{4321}\\x{3412}\\x{3421}"], Just [" 0: axbxxb"], Just [" 1: xbxx"], Just [" 0: axxxxxb"], Just [" 1: xxxxx"], Nothing, Nothing, Nothing] , testRegex "^[a\\x{c0}]" [ERROR] ["*** Failers", "\\x{100}"] [Nothing, Nothing] , testRegex "(?<=aXb)cd" [ERROR] ["aXbcd"] [Just [" 0: cd"]] , testRegex "(?<=a\\x{100}b)cd" [ERROR] ["a\\x{100}bcd"] [Just [" 0: cd"]] , testRegex "(?<=a\\x{100000}b)cd" [ERROR] ["a\\x{100000}bcd", "", "/(?:\\x{100}){3}b/8", "\\x{100}\\x{100}\\x{100}b", "*** Failers ", "\\x{100}\\x{100}b"] [Just [" 0: cd"], Just ["/(?:\\x{100}){3}b/8"], Just [" 0: \\x{100}\\x{100}\\x{100}b"], Nothing, Nothing] , testRegex "\\x{ab}" [ERROR] ["\\x{ab} ", "\\xc2\\xab", "*** Failers ", "\\x00{ab}"] [Just [" 0: \\x{ab}"], Just [" 0: \\x{ab}"], Nothing, Nothing] , testRegex "(?<=(.))X" [ERROR] ["WXYZ", "\\x{256}XYZ ", "*** Failers", "XYZ "] [Just [" 0: X"], Just [" 1: W"], Just [" 0: X"], Just [" 1: \\x{256}"], Nothing, Nothing] , testRegex "X(\\C{3})" [ERROR] ["X\\x{1234}"] [Just [" 0: X\\x{1234}"], Just [" 1: \\x{1234}"]] , testRegex "X(\\C{4})" [ERROR] ["X\\x{1234}YZ", "", "/X\\C*/8", "XYZabcdce", "", "/X\\C*?/8", "XYZabcde", "", "/X\\C{3,5}/8", "Xabcdefg ", "X\\x{1234} ", "X\\x{1234}YZ", "X\\x{1234}\\x{512} ", "X\\x{1234}\\x{512}YZ"] [Just [" 0: X\\x{1234}Y"], Just [" 1: \\x{1234}Y"], Just ["/X\\C*/8"], Just [" 0: XYZabcdce"], Just ["/X\\C*?/8"], Just [" 0: X"], Just ["/X\\C{3,5}/8"], Just [" 0: Xabcde"], Just [" 0: X\\x{1234}"], Just [" 0: X\\x{1234}YZ"], Just [" 0: X\\x{1234}\\x{512}"], Just [" 0: X\\x{1234}\\x{512}"]] , testRegex "X\\C{3,5}?" [ERROR] ["Xabcdefg ", "X\\x{1234} ", "X\\x{1234}YZ", "X\\x{1234}\\x{512} "] [Just [" 0: Xabc"], Just [" 0: X\\x{1234}"], Just [" 0: X\\x{1234}"], Just [" 0: X\\x{1234}"]] , testRegex "[^a]+" [ERROR] ["bcd", "\\x{100}aY\\x{256}Z ", "", "/^[^a]{2}/8", "\\x{100}bc", "", "/^[^a]{2,}/8", "\\x{100}bcAa"] [Just [" 0: bcd"], Just [" 0: \\x{100}"], Just [" 0: Y\\x{256}Z"], Just ["/^[^a]{2}/8"], Just [" 0: \\x{100}b"], Just ["/^[^a]{2,}/8"], Just [" 0: \\x{100}bcA"]] , testRegex "^[^a]{2,}?" [ERROR] ["\\x{100}bca"] [Just [" 0: \\x{100}b"]] , testRegex "[^a]+" [ERROR] ["bcd", "\\x{100}aY\\x{256}Z ", "", "/^[^a]{2}/8i", "\\x{100}bc", "", "/^[^a]{2,}/8i", "\\x{100}bcAa"] [Just [" 0: bcd"], Just [" 0: \\x{100}"], Just [" 0: Y\\x{256}Z"], Just ["/^[^a]{2}/8i"], Just [" 0: \\x{100}b"], Just ["/^[^a]{2,}/8i"], Just [" 0: \\x{100}bc"]] , testRegex "^[^a]{2,}?" [caseless] ["\\x{100}bca"] [Just [" 0: \\x{100}b"]] , testRegex "\\x{100}{0,0}" [ERROR] ["abcd", "", "/\\x{100}?/8", "abcd", "\\x{100}\\x{100} "] [Just [" 0: "], Just ["/\\x{100}?/8"], Just [" 0: "], Just [" 0: \\x{100}"]] , testRegex "\\x{100}{0,3}" [ERROR] ["\\x{100}\\x{100} ", "\\x{100}\\x{100}\\x{100}\\x{100} ", "", "/\\x{100}*/8", "abce", "\\x{100}\\x{100}\\x{100}\\x{100} "] [Just [" 0: \\x{100}\\x{100}"], Just [" 0: \\x{100}\\x{100}\\x{100}"], Just ["/\\x{100}*/8"], Just [" 0: "], Just [" 0: \\x{100}\\x{100}\\x{100}\\x{100}"]] , testRegex "\\x{100}{1,1}" [ERROR] ["abcd\\x{100}\\x{100}\\x{100}\\x{100} "] [Just [" 0: \\x{100}"]] , testRegex "\\x{100}{1,3}" [ERROR] ["abcd\\x{100}\\x{100}\\x{100}\\x{100} "] [Just [" 0: \\x{100}\\x{100}\\x{100}"]] , testRegex "\\x{100}+" [ERROR] ["abcd\\x{100}\\x{100}\\x{100}\\x{100} "] [Just [" 0: \\x{100}\\x{100}\\x{100}\\x{100}"]] , testRegex "\\x{100}{3}" [ERROR] ["abcd\\x{100}\\x{100}\\x{100}XX"] [Just [" 0: \\x{100}\\x{100}\\x{100}"]] , testRegex "\\x{100}{3,5}" [ERROR] ["abcd\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}XX"] [Just [" 0: \\x{100}\\x{100}\\x{100}\\x{100}\\x{100}"]] , testRegex "\\x{100}{3,}" [ERROR] ["abcd\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}XX"] [Just [" 0: \\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}"]] , testRegex "(?<=a\\x{100}{2}b)X" [ERROR] ["Xyyya\\x{100}\\x{100}bXzzz"] [Just [" 0: X"], Just [" 0+ zzz"]] , testRegex "\\D*" [ERROR] ["aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"] [Just [" 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"]] , testRegex "\\D*" [ERROR] ["\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}"] [Just [" 0: \\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}\\x{100}"]] , testRegex "\\D" [ERROR] ["1X2", "1\\x{100}2 ", "", "/>\\S/8", "> >X Y", "> >\\x{100} Y", "", "/\\d/8", "\\x{100}3", "", "/\\s/8", "\\x{100} X", "", "/\\D+/8", "12abcd34", "*** Failers", "1234 "] [Just [" 0: X"], Just [" 0: \\x{100}"], Just ["/>\\S/8"], Just [" 0: >X"], Just [" 0: >\\x{100}"], Just ["/\\d/8"], Just [" 0: 3"], Just ["/\\s/8"], Just [" 0: "], Just ["/\\D+/8"], Just [" 0: abcd"], Just [" 0: *** Failers"], Nothing] , testRegex "\\D{2,3}" [ERROR] ["12abcd34", "12ab34", "*** Failers ", "1234", "12a34 "] [Just [" 0: abc"], Just [" 0: ab"], Just [" 0: ***"], Nothing, Nothing] , testRegex "\\D{2,3}?" [ERROR] ["12abcd34", "12ab34", "*** Failers ", "1234", "12a34 "] [Just [" 0: ab"], Just [" 0: ab"], Just [" 0: **"], Nothing, Nothing] , testRegex "\\d+" [ERROR] ["12abcd34", "*** Failers"] [Just [" 0: 12"], Nothing] , testRegex "\\d{2,3}" [ERROR] ["12abcd34", "1234abcd", "*** Failers ", "1.4 "] [Just [" 0: 12"], Just [" 0: 123"], Nothing, Nothing] , testRegex "\\d{2,3}?" [ERROR] ["12abcd34", "1234abcd", "*** Failers ", "1.4 "] [Just [" 0: 12"], Just [" 0: 12"], Nothing, Nothing] , testRegex "\\S+" [ERROR] ["12abcd34", "*** Failers", "\\ \\ "] [Just [" 0: 12abcd34"], Just [" 0: ***"], Nothing] , testRegex "\\S{2,3}" [ERROR] ["12abcd34", "1234abcd", "*** Failers", "\\ \\ "] [Just [" 0: 12a"], Just [" 0: 123"], Just [" 0: ***"], Nothing] , testRegex "\\S{2,3}?" [ERROR] ["12abcd34", "1234abcd", "*** Failers", "\\ \\ "] [Just [" 0: 12"], Just [" 0: 12"], Just [" 0: **"], Nothing] , testRegex ">\\s+<" [ERROR] ["12> <34", "*** Failers"] [Just [" 0: > <"], Just [" 0+ 34"], Nothing] , testRegex ">\\s{2,3}<" [ERROR] ["ab> <"], Just [" 0+ cd"], Just [" 0: > <"], Just [" 0+ ce"], Nothing, Nothing] , testRegex ">\\s{2,3}?<" [ERROR] ["ab> <"], Just [" 0+ cd"], Just [" 0: > <"], Just [" 0+ ce"], Nothing, Nothing] , testRegex "\\w+" [ERROR] ["12 34", "*** Failers", "+++=*! "] [Just [" 0: 12"], Just [" 0: Failers"], Nothing] , testRegex "\\w{2,3}" [ERROR] ["ab cd", "abcd ce", "*** Failers", "a.b.c"] [Just [" 0: ab"], Just [" 0: abc"], Just [" 0: Fai"], Nothing] , testRegex "\\w{2,3}?" [ERROR] ["ab cd", "abcd ce", "*** Failers", "a.b.c"] [Just [" 0: ab"], Just [" 0: ab"], Just [" 0: Fa"], Nothing] , testRegex "\\W+" [ERROR] ["12====34", "*** Failers", "abcd "] [Just [" 0: ===="], Just [" 0: *** "], Nothing] , testRegex "\\W{2,3}" [ERROR] ["ab====cd", "ab==cd", "*** Failers", "a.b.c"] [Just [" 0: ==="], Just [" 0: =="], Just [" 0: ***"], Nothing] , testRegex "\\W{2,3}?" [ERROR] ["ab====cd", "ab==cd", "*** Failers", "a.b.c"] [Just [" 0: =="], Just [" 0: =="], Just [" 0: **"], Nothing] , testRegex "[\\x{100}]" [ERROR] ["\\x{100}", "Z\\x{100}", "\\x{100}Z", "*** Failers "] [Just [" 0: \\x{100}"], Just [" 0: \\x{100}"], Just [" 0: \\x{100}"], Nothing] , testRegex "[Z\\x{100}]" [ERROR] ["Z\\x{100}", "\\x{100}", "\\x{100}Z", "*** Failers "] [Just [" 0: Z"], Just [" 0: \\x{100}"], Just [" 0: \\x{100}"], Nothing] , testRegex "[\\x{100}\\x{200}]" [ERROR] ["ab\\x{100}cd", "ab\\x{200}cd", "*** Failers "] [Just [" 0: \\x{100}"], Just [" 0: \\x{200}"], Nothing] , testRegex "[\\x{100}-\\x{200}]" [ERROR] ["ab\\x{100}cd", "ab\\x{200}cd", "ab\\x{111}cd ", "*** Failers "] [Just [" 0: \\x{100}"], Just [" 0: \\x{200}"], Just [" 0: \\x{111}"], Nothing] , testRegex "[z-\\x{200}]" [ERROR] ["ab\\x{100}cd", "ab\\x{200}cd", "ab\\x{111}cd ", "abzcd", "ab|cd ", "*** Failers "] [Just [" 0: \\x{100}"], Just [" 0: \\x{200}"], Just [" 0: \\x{111}"], Just [" 0: z"], Just [" 0: |"], Nothing] , testRegex "[Q\\x{100}\\x{200}]" [ERROR] ["ab\\x{100}cd", "ab\\x{200}cd", "Q? ", "*** Failers "] [Just [" 0: \\x{100}"], Just [" 0: \\x{200}"], Just [" 0: Q"], Nothing] , testRegex "[Q\\x{100}-\\x{200}]" [ERROR] ["ab\\x{100}cd", "ab\\x{200}cd", "ab\\x{111}cd ", "Q? ", "*** Failers "] [Just [" 0: \\x{100}"], Just [" 0: \\x{200}"], Just [" 0: \\x{111}"], Just [" 0: Q"], Nothing] , testRegex "[Qz-\\x{200}]" [ERROR] ["ab\\x{100}cd", "ab\\x{200}cd", "ab\\x{111}cd ", "abzcd", "ab|cd ", "Q? ", "*** Failers "] [Just [" 0: \\x{100}"], Just [" 0: \\x{200}"], Just [" 0: \\x{111}"], Just [" 0: z"], Just [" 0: |"], Just [" 0: Q"], Nothing] , testRegex "[\\x{100}\\x{200}]{1,3}" [ERROR] ["ab\\x{100}cd", "ab\\x{200}cd", "ab\\x{200}\\x{100}\\x{200}\\x{100}cd", "*** Failers "] [Just [" 0: \\x{100}"], Just [" 0: \\x{200}"], Just [" 0: \\x{200}\\x{100}\\x{200}"], Nothing] , testRegex "[\\x{100}\\x{200}]{1,3}?" [ERROR] ["ab\\x{100}cd", "ab\\x{200}cd", "ab\\x{200}\\x{100}\\x{200}\\x{100}cd", "*** Failers "] [Just [" 0: \\x{100}"], Just [" 0: \\x{200}"], Just [" 0: \\x{200}"], Nothing] , testRegex "[Q\\x{100}\\x{200}]{1,3}" [ERROR] ["ab\\x{100}cd", "ab\\x{200}cd", "ab\\x{200}\\x{100}\\x{200}\\x{100}cd", "*** Failers "] [Just [" 0: \\x{100}"], Just [" 0: \\x{200}"], Just [" 0: \\x{200}\\x{100}\\x{200}"], Nothing] , testRegex "[Q\\x{100}\\x{200}]{1,3}?" [ERROR] ["ab\\x{100}cd", "ab\\x{200}cd", "ab\\x{200}\\x{100}\\x{200}\\x{100}cd", "*** Failers "] [Just [" 0: \\x{100}"], Just [" 0: \\x{200}"], Just [" 0: \\x{200}"], Nothing] , testRegex "(?<=[\\x{100}\\x{200}])X" [ERROR] ["abc\\x{200}X", "abc\\x{100}X ", "*** Failers", "X "] [Just [" 0: X"], Just [" 0: X"], Nothing, Nothing] , testRegex "(?<=[Q\\x{100}\\x{200}])X" [ERROR] ["abc\\x{200}X", "abc\\x{100}X ", "abQX ", "*** Failers", "X "] [Just [" 0: X"], Just [" 0: X"], Just [" 0: X"], Nothing, Nothing] , testRegex "(?<=[\\x{100}\\x{200}]{3})X" [ERROR] ["abc\\x{100}\\x{200}\\x{100}X", "*** Failers", "abc\\x{200}X", "X "] [Just [" 0: X"], Nothing, Nothing, Nothing] , testRegex "[^\\x{100}\\x{200}]X" [ERROR] ["AX", "\\x{150}X", "\\x{500}X ", "*** Failers", "\\x{100}X", "\\x{200}X "] [Just [" 0: AX"], Just [" 0: \\x{150}X"], Just [" 0: \\x{500}X"], Nothing, Nothing, Nothing] , testRegex "[^Q\\x{100}\\x{200}]X" [ERROR] ["AX", "\\x{150}X", "\\x{500}X ", "*** Failers", "\\x{100}X", "\\x{200}X ", "QX "] [Just [" 0: AX"], Just [" 0: \\x{150}X"], Just [" 0: \\x{500}X"], Nothing, Nothing, Nothing, Nothing] , testRegex "[^\\x{100}-\\x{200}]X" [ERROR] ["AX", "\\x{500}X ", "*** Failers", "\\x{100}X", "\\x{150}X", "\\x{200}X "] [Just [" 0: AX"], Just [" 0: \\x{500}X"], Nothing, Nothing, Nothing, Nothing] , testRegex "a\\Cb" [] ["aXb", "a\\nb", "", "/a\\Cb/8", "aXb", "a\\nb", "*** Failers ", "a\\x{100}b "] [Just [" 0: aXb"], Just [" 0: a\\x0ab"], Just ["/a\\Cb/8"], Just [" 0: aXb"], Just [" 0: a\\x{0a}b"], Nothing, Nothing] , testRegex "[z-\\x{100}]" [caseless] ["z", "Z ", "\\x{100}", "*** Failers", "\\x{102}", "y "] [Just [" 0: z"], Just [" 0: Z"], Just [" 0: \\x{100}"], Nothing, Nothing, Nothing] , testRegex "[\\xFF]" [] [">\\xff<"] [Just [" 0: \\xff"]] , testRegex "[\\xff]" [ERROR] [">\\x{ff}<"] [Just [" 0: \\x{ff}"]] , testRegex "[^\\xFF]" [] ["XYZ"] [Just [" 0: X"]] , testRegex "[^\\xff]" [ERROR] ["XYZ", "\\x{123} "] [Just [" 0: X"], Just [" 0: \\x{123}"]] , testRegex "^[ac]*b" [ERROR] ["xb"] [Nothing] , testRegex "^[ac\\x{100}]*b" [ERROR] ["xb"] [Nothing] , testRegex "^[^x]*b" [caseless] ["xb"] [Nothing] , testRegex "^[^x]*b" [ERROR] ["xb", "", "/^\\d*b/8", "xb "] [Nothing, Just ["/^\\d*b/8"], Nothing] , testRegex "(|a)" [ERROR] ["catac", "a\\x{256}a "] [Just [" 0: "], Just [" 1: "], Just [" 0: "], Just [" 1: "], Just [" 0: a"], Just [" 1: a"], Just [" 0: "], Just [" 1: "], Just [" 0: "], Just [" 1: "], Just [" 0: a"], Just [" 1: a"], Just [" 0: "], Just [" 1: "], Just [" 0: "], Just [" 1: "], Just [" 0: "], Just [" 1: "], Just [" 0: a"], Just [" 1: a"], Just [" 0: "], Just [" 1: "], Just [" 0: "], Just [" 1: "], Just [" 0: a"], Just [" 1: a"], Just [" 0: "], Just [" 1: "]] , testRegex "^\\x{85}$" [caseless] ["\\x{85}"] [Just [" 0: \\x{85}"]] , testRegex "^\225\136\180" [ERROR] ["\225\136\180 "] [Just [" 0: \\x{1234}"]] , testRegex "^\\\225\136\180" [ERROR] ["\225\136\180 "] [Just [" 0: \\x{1234}"]] , testRegex "(?s)(.{1,5})" [ERROR] ["abcdefg", "ab"] [Just [" 0: abcde"], Just [" 1: abcde"], Just [" 0: ab"], Just [" 1: ab"]] , testRegex "a*\\x{100}*\\w" [ERROR] ["a "] [Just [" 0: a"]] , testRegex "\\S\\S" [ERROR] ["A\\x{a3}BC", "", "/\\S{2}/8g", "A\\x{a3}BC", "", "/\\W\\W/8g", "+\\x{a3}== "] [Just [" 0: A\\x{a3}"], Just [" 0: BC"], Just ["/\\S{2}/8g"], Just [" 0: A\\x{a3}"], Just [" 0: BC"], Just ["/\\W\\W/8g"], Just [" 0: +\\x{a3}"], Just [" 0: =="]] , testRegex "\\W{2}" [ERROR] ["+\\x{a3}== "] [Just [" 0: +\\x{a3}"], Just [" 0: =="]] , testRegex " End of testinput4 " [] [] []