testRegex "^(a){1,}" [] ["bcd", "abc", "aab", "aaa", "aaaaaaaa "] [Nothing, Just [" 0: a"], Just [" 1: a"], Just [" 0: aa"], Just [" 1: a"], Just [" 0: aaa"], Just [" 1: a"], Just [" 0: aaaaaaaa"], Just [" 1: a"]] , testRegex ".*$" [ERROR] ["borfle\\nbib.gif\\nno\\n"] [Just [" 0: borfle\\x0abib.gif\\x0ano\\x0a"]] , testRegex ".*$" [ERROR] ["borfle\\nbib.gif\\nno\\n", "", "/(.*X|^B)/", "abcde\\n1234Xyz", "BarFoo ", "*** Failers", "abcde\\nBar "] [Just [" 0: borfle\\x0abib.gif\\x0ano\\x0a"], Just ["/(.*X|^B)/"], Just [" 0: 1234X"], Just [" 1: 1234X"], Just [" 0: B"], Just [" 1: B"], Nothing, Nothing] , testRegex "(.*X|^B)" [ERROR] ["abcde\\n1234Xyz", "BarFoo ", "abcde\\nBar "] [Just [" 0: 1234X"], Just [" 1: 1234X"], Just [" 0: B"], Just [" 1: B"], Just [" 0: B"], Just [" 1: B"]] , testRegex "(.*X|^B)" [ERROR] ["abcde\\n1234Xyz", "BarFoo ", "*** Failers", "abcde\\nBar "] [Just [" 0: abcde\\x0a1234X"], Just [" 1: abcde\\x0a1234X"], Just [" 0: B"], Just [" 1: B"], Nothing, Nothing] , testRegex "(.*X|^B)" [ERROR] ["abcde\\n1234Xyz", "BarFoo ", "abcde\\nBar "] [Just [" 0: abcde\\x0a1234X"], Just [" 1: abcde\\x0a1234X"], Just [" 0: B"], Just [" 1: B"], Just [" 0: B"], Just [" 1: B"]] , testRegex "(?s)(.*X|^B)" [] ["abcde\\n1234Xyz", "BarFoo ", "*** Failers ", "abcde\\nBar "] [Just [" 0: abcde\\x0a1234X"], Just [" 1: abcde\\x0a1234X"], Just [" 0: B"], Just [" 1: B"], Nothing, Nothing] , testRegex "(?s:.*X|^B)" [] ["abcde\\n1234Xyz", "BarFoo ", "*** Failers ", "abcde\\nBar "] [Just [" 0: abcde\\x0a1234X"], Just [" 0: B"], Nothing, Nothing] , testRegex "^.*B" [] ["**** Failers", "abc\\nB", "", "/(?s)^.*B/", "abc\\nB"] [Nothing, Nothing, Just ["/(?s)^.*B/"], Just [" 0: abc\\x0aB"]] , testRegex "(?m)^.*B" [] ["abc\\nB", "", "/(?ms)^.*B/", "abc\\nB"] [Just [" 0: B"], Just ["/(?ms)^.*B/"], Just [" 0: abc\\x0aB"]] , testRegex "^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]" [] ["123456654321", "", "/^\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d/", "123456654321 "] [Just [" 0: 123456654321"], Just ["/^\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d/"], Just [" 0: 123456654321"]] , testRegex "^[\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d]" [] ["123456654321", "", "/^[abc]{12}/", "abcabcabcabc", "", "/^[a-c]{12}/", "abcabcabcabc", "", "/^(a|b|c){12}/", "abcabcabcabc "] [Just [" 0: 123456654321"], Just ["/^[abc]{12}/"], Just [" 0: abcabcabcabc"], Just ["/^[a-c]{12}/"], Just [" 0: abcabcabcabc"], Just ["/^(a|b|c){12}/"], Just [" 0: abcabcabcabc"], Just [" 1: c"]] , testRegex "" [ERROR] ["abc"] [Just [" 0: "], Just [" 0: "], Just [" 0: "], Just [" 0: "]] , testRegex "]{0,})>]{0,})>([\\d]{0,}\\.)(.*)((
([\\w\\W\\s\\d][^<>]{0,})|[\\s]{0,}))<\\/a><\\/TD>]{0,})>([\\w\\W\\s\\d][^<>]{0,})<\\/TD>]{0,})>([\\w\\W\\s\\d][^<>]{0,})<\\/TD><\\/TR>" [ERROR] ["43.Word Processor
(N-1286)
Lega lstaff.comCA - Statewide"] [Just [" 0: 43.Word Processor
(N-1286)
Lega lstaff.comCA - Statewide"], Just [" 1: BGCOLOR='#DBE9E9'"], Just [" 2: align=left valign=top"], Just [" 3: 43."], Just [" 4: Word Processor
(N-1286)"], Just [" 5: "], Just [" 6: "], Just [" 7: "], Just [" 8: align=left valign=top"], Just [" 9: Lega lstaff.com"], Just ["10: align=left valign=top"], Just ["11: CA - Statewide"]] , testRegex "a[^a]b" [] ["acb", "a\\nb", "", "/a.b/", "acb", "*** Failers ", "a\\nb ", "", "/a[^a]b/s", "acb", "a\\nb ", "", "/a.b/s", "acb", "a\\nb "] [Just [" 0: acb"], Just [" 0: a\\x0ab"], Just ["/a.b/"], Just [" 0: acb"], Nothing, Nothing, Just ["/a[^a]b/s"], Just [" 0: acb"], Just [" 0: a\\x0ab"], Just ["/a.b/s"], Just [" 0: acb"], Just [" 0: a\\x0ab"]] , testRegex "^(b+|a){1,2}?c" [] ["bac", "bbac", "bbbac", "bbbbac", "bbbbbac ", "", "/(?!\\A)x/m", "x\\nb\\n", "a\\bx\\n ", "", "/\\x0{ab}/", "\\0{ab} "] [Just [" 0: bac"], Just [" 1: a"], Just [" 0: bbac"], Just [" 1: a"], Just [" 0: bbbac"], Just [" 1: a"], Just [" 0: bbbbac"], Just [" 1: a"], Just [" 0: bbbbbac"], Just [" 1: a"], Just ["/(?!\\A)x/m"], Nothing, Just [" 0: x"], Just ["/\\x0{ab}/"], Just [" 0: \\x00{ab}"]] , testRegex "(AB)*\\1" [] ["ABABAB", "", "/(?.*/)foo" [ERROR] ["/this/is/a/very/long/line/in/deed/with/very/many/slashes/in/it/you/see/"] [Nothing] , testRegex "(?>.*/)foo" [ERROR] ["/this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo"] [Just [" 0: /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo"]] , testRegex "(?>(\\.\\d\\d[1-9]?))\\d+" [] ["1.230003938", "1.875000282", "*** Failers ", "1.235 "] [Just [" 0: .230003938"], Just [" 1: .23"], Just [" 0: .875000282"], Just [" 1: .875"], Nothing, Nothing] , testRegex "^((?>\\w+)|(?>\\s+))*$" [] ["now is the time for all good men to come to the aid of the party", "*** Failers", "this is not a line with only words and spaces!", "", "/(\\d+)(\\w)/", "12345a", "12345+ "] [Just [" 0: now is the time for all good men to come to the aid of the party"], Just [" 1: party"], Nothing, Nothing, Just ["/(\\d+)(\\w)/"], Just [" 0: 12345a"], Just [" 1: 12345"], Just [" 2: a"], Just [" 0: 12345"], Just [" 1: 1234"], Just [" 2: 5"]] , testRegex "((?>\\d+))(\\w)" [] ["12345a", "*** Failers", "12345+ "] [Just [" 0: 12345a"], Just [" 1: 12345"], Just [" 2: a"], Nothing, Nothing] , testRegex "(?>a+)b" [] ["aaab"] [Just [" 0: aaab"]] , testRegex "((?>a+)b)" [] ["aaab"] [Just [" 0: aaab"], Just [" 1: aaab"]] , testRegex "(?>(a+))b" [] ["aaab"] [Just [" 0: aaab"], Just [" 1: aaa"]] , testRegex "(?>b)+" [] ["aaabbbccc"] [Just [" 0: bbb"]] , testRegex "(?>a+|b+|c+)*c" [] ["aaabbbbccccd"] [Just [" 0: aaabbbbc"]] , testRegex "((?>[^()]+)|\\([^()]*\\))+" [] ["((abc(ade)ufh()()x", "", "/\\(((?>[^()]+)|\\([^()]+\\))+\\)/ ", "(abc)", "(abc(def)xyz)", "*** Failers", "((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "] [Just [" 0: abc(ade)ufh()()x"], Just [" 1: x"], Just ["/\\(((?>[^()]+)|\\([^()]+\\))+\\)/ "], Just [" 0: (abc)"], Just [" 1: abc"], Just [" 0: (abc(def)xyz)"], Just [" 1: xyz"], Nothing, Nothing] , testRegex "a(?-i)b" [caseless] ["ab", "Ab", "*** Failers ", "aB", "AB", "", "/(a (?x)b c)d e/", "a bcd e", "*** Failers", "a b cd e", "abcd e ", "a bcde ", "", "/(a b(?x)c d (?-x)e f)/", "a bcde f", "*** Failers", "abcdef "] [Just [" 0: ab"], Just [" 0: Ab"], Nothing, Nothing, Nothing, Just ["/(a (?x)b c)d e/"], Just [" 0: a bcd e"], Just [" 1: a bc"], Nothing, Nothing, Nothing, Nothing, Just ["/(a b(?x)c d (?-x)e f)/"], Just [" 0: a bcde f"], Just [" 1: a bcde f"], Nothing, Nothing] , testRegex "(a(?i)b)c" [] ["abc", "aBc", "*** Failers", "abC", "aBC ", "Abc", "ABc", "ABC", "AbC", "", "/a(?i:b)c/", "abc", "aBc", "*** Failers ", "ABC", "abC", "aBC", "", "/a(?i:b)*c/", "aBc", "aBBc", "*** Failers ", "aBC", "aBBC", "", "/a(?=b(?i)c)\\w\\wd/", "abcd", "abCd", "*** Failers", "aBCd", "abcD ", "", "/(?s-i:more.*than).*million/i", "more than million", "more than MILLION", "more \\n than Million ", "*** Failers", "MORE THAN MILLION ", "more \\n than \\n million "] [Just [" 0: abc"], Just [" 1: ab"], Just [" 0: aBc"], Just [" 1: aB"], Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Just ["/a(?i:b)c/"], Just [" 0: abc"], Just [" 0: aBc"], Nothing, Nothing, Nothing, Nothing, Just ["/a(?i:b)*c/"], Just [" 0: aBc"], Just [" 0: aBBc"], Nothing, Nothing, Nothing, Just ["/a(?=b(?i)c)\\w\\wd/"], Just [" 0: abcd"], Just [" 0: abCd"], Nothing, Nothing, Nothing, Just ["/(?s-i:more.*than).*million/i"], Just [" 0: more than million"], Just [" 0: more than MILLION"], Just [" 0: more \\x0a than Million"], Nothing, Nothing, Nothing] , testRegex "(?:(?s-i)more.*than).*million" [caseless] ["more than million", "more than MILLION", "more \\n than Million ", "*** Failers", "MORE THAN MILLION ", "more \\n than \\n million ", "", "/(?>a(?i)b+)+c/ ", "abc", "aBbc", "aBBc ", "*** Failers", "Abc", "abAb ", "abbC ", "", "/(?=a(?i)b)\\w\\wc/", "abc", "aBc", "*** Failers", "Ab ", "abC", "aBC ", "", "/(?<=a(?i)b)(\\w\\w)c/", "abxxc", "aBxxc", "*** Failers", "Abxxc", "ABxxc", "abxxC "] [Just [" 0: more than million"], Just [" 0: more than MILLION"], Just [" 0: more \\x0a than Million"], Nothing, Nothing, Nothing, Just ["/(?>a(?i)b+)+c/ "], Just [" 0: abc"], Just [" 0: aBbc"], Just [" 0: aBBc"], Nothing, Nothing, Nothing, Nothing, Just ["/(?=a(?i)b)\\w\\wc/"], Just [" 0: abc"], Just [" 0: aBc"], Nothing, Nothing, Nothing, Nothing, Just ["/(?<=a(?i)b)(\\w\\w)c/"], Just [" 0: xxc"], Just [" 1: xx"], Just [" 0: xxc"], Just [" 1: xx"], Nothing, Nothing, Nothing, Nothing] , testRegex "(?:(a)|b)(?(1)A|B)" [] ["aA", "bB", "*** Failers", "aB", "bA "] [Just [" 0: aA"], Just [" 1: a"], Just [" 0: bB"], Nothing, Nothing, Nothing] , testRegex "^(a)?(?(1)a|b)+$" [] ["aa", "b", "bb ", "*** Failers", "ab "] [Just [" 0: aa"], Just [" 1: a"], Just [" 0: b"], Just [" 0: bb"], Nothing, Nothing] , testRegex "^(?(?=abc)\\w{3}:|\\d\\d)$" [] ["abc:", "12", "*** Failers", "123", "xyz "] [Just [" 0: abc:"], Just [" 0: 12"], Nothing, Nothing, Nothing] , testRegex "^(?(?!abc)\\d\\d|\\w{3}:)$" [] ["abc:", "12", "*** Failers", "123", "xyz ", "", "/(?(?<=foo)bar|cat)/", "foobar", "cat", "fcat", "focat ", "*** Failers", "foocat "] [Just [" 0: abc:"], Just [" 0: 12"], Nothing, Nothing, Nothing, Just ["/(?(?<=foo)bar|cat)/"], Just [" 0: bar"], Just [" 0: cat"], Just [" 0: cat"], Just [" 0: cat"], Nothing, Nothing] , testRegex "(?(?a*)*" [] ["a", "aa", "aaaa", "", "/(abc|)+/", "abc", "abcabc", "abcabcabc", "xyz "] [Just [" 0: a"], Just [" 0: aa"], Just [" 0: aaaa"], Just ["/(abc|)+/"], Just [" 0: abc"], Just [" 1: "], Just [" 0: abcabc"], Just [" 1: "], Just [" 0: abcabcabc"], Just [" 1: "], Just [" 0: "], Just [" 1: "]] , testRegex "([a]*)*" [] ["a", "aaaaa ", "", "/([ab]*)*/", "a", "b", "ababab", "aaaabcde", "bbbb ", "", "/([^a]*)*/", "b", "bbbb", "aaa ", "", "/([^ab]*)*/", "cccc", "abab ", "", "/([a]*?)*/", "a", "aaaa ", "", "/([ab]*?)*/", "a", "b", "abab", "baba ", "", "/([^a]*?)*/", "b", "bbbb", "aaa ", "", "/([^ab]*?)*/", "c", "cccc", "baba ", "", "/(?>a*)*/", "a", "aaabcde ", "", "/((?>a*))*/", "aaaaa", "aabbaa ", "", "/((?>a*?))*/", "aaaaa", "aabbaa "] [Just [" 0: a"], Just [" 1: "], Just [" 0: aaaaa"], Just [" 1: "], Just ["/([ab]*)*/"], Just [" 0: a"], Just [" 1: "], Just [" 0: b"], Just [" 1: "], Just [" 0: ababab"], Just [" 1: "], Just [" 0: aaaab"], Just [" 1: "], Just [" 0: bbbb"], Just [" 1: "], Just ["/([^a]*)*/"], Just [" 0: b"], Just [" 1: "], Just [" 0: bbbb"], Just [" 1: "], Just [" 0: "], Just [" 1: "], Just ["/([^ab]*)*/"], Just [" 0: cccc"], Just [" 1: "], Just [" 0: "], Just [" 1: "], Just ["/([a]*?)*/"], Just [" 0: "], Just [" 1: "], Just [" 0: "], Just [" 1: "], Just ["/([ab]*?)*/"], Just [" 0: "], Just [" 1: "], Just [" 0: "], Just [" 1: "], Just [" 0: "], Just [" 1: "], Just [" 0: "], Just [" 1: "], Just ["/([^a]*?)*/"], Just [" 0: "], Just [" 1: "], Just [" 0: "], Just [" 1: "], Just [" 0: "], Just [" 1: "], Just ["/([^ab]*?)*/"], Just [" 0: "], Just [" 1: "], Just [" 0: "], Just [" 1: "], Just [" 0: "], Just [" 1: "], Just ["/(?>a*)*/"], Just [" 0: a"], Just [" 0: aaa"], Just ["/((?>a*))*/"], Just [" 0: aaaaa"], Just [" 1: "], Just [" 0: aa"], Just [" 1: "], Just ["/((?>a*?))*/"], Just [" 0: "], Just [" 1: "], Just [" 0: "], Just [" 1: "]] , testRegex "(?(?=[^a-z]+[a-z]) \\d{2}-[a-z]{3}-\\d{2} | \\d{2}-\\d{2}-\\d{2} ) " [ERROR] ["12-sep-98", "12-09-98", "*** Failers", "sep-12-98", "", "/(?<=(foo))bar\\1/", "foobarfoo", "foobarfootling ", "*** Failers", "foobar", "barfoo "] [Just [" 0: 12-sep-98"], Just [" 0: 12-09-98"], Nothing, Nothing, Just ["/(?<=(foo))bar\\1/"], Just [" 0: barfoo"], Just [" 1: foo"], Just [" 0: barfoo"], Just [" 1: foo"], Nothing, Nothing, Nothing] , testRegex "(?i:saturday|sunday)" [] ["saturday", "sunday", "Saturday", "Sunday", "SATURDAY", "SUNDAY", "SunDay", "", "/(a(?i)bc|BB)x/", "abcx", "aBCx", "bbx", "BBx", "*** Failers", "abcX", "aBCX", "bbX", "BBX "] [Just [" 0: saturday"], Just [" 0: sunday"], Just [" 0: Saturday"], Just [" 0: Sunday"], Just [" 0: SATURDAY"], Just [" 0: SUNDAY"], Just [" 0: SunDay"], Just ["/(a(?i)bc|BB)x/"], Just [" 0: abcx"], Just [" 1: abc"], Just [" 0: aBCx"], Just [" 1: aBC"], Just [" 0: bbx"], Just [" 1: bb"], Just [" 0: BBx"], Just [" 1: BB"], Nothing, Nothing, Nothing, Nothing, Nothing] , testRegex "^([ab](?i)[cd]|[ef])" [] ["ac", "aC", "bD", "elephant", "Europe ", "frog", "France", "*** Failers", "Africa "] [Just [" 0: ac"], Just [" 1: ac"], Just [" 0: aC"], Just [" 1: aC"], Just [" 0: bD"], Just [" 1: bD"], Just [" 0: e"], Just [" 1: e"], Just [" 0: E"], Just [" 1: E"], Just [" 0: f"], Just [" 1: f"], Just [" 0: F"], Just [" 1: F"], Nothing, Nothing] , testRegex "^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)" [] ["ab", "aBd", "xy", "xY", "zebra", "Zambesi", "*** Failers", "aCD ", "XY "] [Just [" 0: ab"], Just [" 1: ab"], Just [" 0: aBd"], Just [" 1: aBd"], Just [" 0: xy"], Just [" 1: xy"], Just [" 0: xY"], Just [" 1: xY"], Just [" 0: z"], Just [" 1: z"], Just [" 0: Z"], Just [" 1: Z"], Nothing, Nothing, Nothing] , testRegex "(?<=foo\\n)^bar" [ERROR] ["foo\\nbar", "*** Failers", "bar", "baz\\nbar "] [Just [" 0: bar"], Nothing, Nothing, Nothing] , testRegex "(?<=(?]&" [] ["<&OUT"] [Just [" 0: <&"]] , testRegex "^(a\\1?){4}$" [] ["aaaaaaaaaa", "*** Failers", "AB", "aaaaaaaaa", "aaaaaaaaaaa"] [Just [" 0: aaaaaaaaaa"], Just [" 1: aaaa"], Nothing, Nothing, Nothing, Nothing] , testRegex "^(a(?(1)\\1)){4}$" [] ["aaaaaaaaaa", "*** Failers", "aaaaaaaaa", "aaaaaaaaaaa"] [Just [" 0: aaaaaaaaaa"], Just [" 1: aaaa"], Nothing, Nothing, Nothing] , testRegex "(?:(f)(o)(o)|(b)(a)(r))*" [] ["foobar"] [Just [" 0: foobar"], Just [" 1: f"], Just [" 2: o"], Just [" 3: o"], Just [" 4: b"], Just [" 5: a"], Just [" 6: r"]] , testRegex "(?<=a)b" [] ["ab", "*** Failers", "cb", "b"] [Just [" 0: b"], Nothing, Nothing, Nothing] , testRegex "(?"], Just [" 2: abcd"], Just [" 0: xy:z:::abcd"], Just [" 1: xy:z:::"], Just [" 2: abcd"]] , testRegex "^[^bcd]*(c+)" [] ["aexycd"] [Just [" 0: aexyc"], Just [" 1: c"]] , testRegex "(a*)b+" [] ["caab"] [Just [" 0: aab"], Just [" 1: aa"]] , testRegex "([\\w:]+::)?(\\w+)$" [] ["abcd", "xy:z:::abcd", "*** Failers", "abcd:", "abcd:"] [Just [" 0: abcd"], Just [" 1: "], Just [" 2: abcd"], Just [" 0: xy:z:::abcd"], Just [" 1: xy:z:::"], Just [" 2: abcd"], Just [" 0: Failers"], Just [" 1: "], Just [" 2: Failers"], Nothing, Nothing] , testRegex "^[^bcd]*(c+)" [] ["aexycd"] [Just [" 0: aexyc"], Just [" 1: c"]] , testRegex "(>a+)ab" [] [] [] , testRegex "(?>a+)b" [] ["aaab"] [Just [" 0: aaab"]] , testRegex "([[:]+)" [] ["a:[b]:"] [Just [" 0: :["], Just [" 1: :["]] , testRegex "([[=]+)" [] ["a=[b]="] [Just [" 0: =["], Just [" 1: =["]] , testRegex "([[.]+)" [] ["a.[b]."] [Just [" 0: .["], Just [" 1: .["]] , testRegex "((?>a+)b)" [] ["aaab"] [Just [" 0: aaab"], Just [" 1: aaab"]] , testRegex "(?>(a+))b" [] ["aaab"] [Just [" 0: aaab"], Just [" 1: aaa"]] , testRegex "((?>[^()]+)|\\([^()]*\\))+" [] ["((abc(ade)ufh()()x"] [Just [" 0: abc(ade)ufh()()x"], Just [" 1: x"]] , testRegex "a\\Z" [] ["*** Failers", "aaab", "a\\nb\\n"] [Nothing, Nothing, Nothing] , testRegex "b\\Z" [] ["a\\nb\\n"] [Just [" 0: b"]] , testRegex "b\\z" [] [] [] , testRegex "b\\Z" [] ["a\\nb"] [Just [" 0: b"]] , testRegex "b\\z" [] ["a\\nb", "*** Failers", "", "/^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$/", "a", "abc", "a-b", "0-9 ", "a.b", "5.6.7 ", "the.quick.brown.fox", "a100.b200.300c ", "12-ab.1245 ", "*** Failers", "\\", ".a", "-a", "a-", "a. ", "a_b ", "a.-", "a.. ", "ab..bc ", "the.quick.brown.fox-", "the.quick.brown.fox.", "the.quick.brown.fox_", "the.quick.brown.fox+ "] [Just [" 0: b"], Nothing, Just ["/^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$/"], Just [" 0: a"], Just [" 1: "], Just [" 0: abc"], Just [" 1: "], Just [" 0: a-b"], Just [" 1: "], Just [" 0: 0-9"], Just [" 1: "], Just [" 0: a.b"], Just [" 1: "], Just [" 0: 5.6.7"], Just [" 1: "], Just [" 0: the.quick.brown.fox"], Just [" 1: "], Just [" 0: a100.b200.300c"], Just [" 1: "], Just [" 0: 12-ab.1245"], Just [" 1: "], Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing] , testRegex "(?>.*)(?<=(abcd|wxyz))" [] ["alphabetabcd", "endingwxyz", "*** Failers", "a rather long string that doesn't end with one of them"] [Just [" 0: alphabetabcd"], Just [" 1: abcd"], Just [" 0: endingwxyz"], Just [" 1: wxyz"], Nothing, Nothing] , testRegex "word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword" [] ["word cat dog elephant mussel cow horse canary baboon snake shark otherword", "word cat dog elephant mussel cow horse canary baboon snake shark", "", "/word (?>[a-zA-Z0-9]+ ){0,30}otherword/", "word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope"] [Just [" 0: word cat dog elephant mussel cow horse canary baboon snake shark otherword"], Nothing, Just ["/word (?>[a-zA-Z0-9]+ ){0,30}otherword/"], Nothing] , testRegex "(?<=\\d{3}(?!999))foo" [] ["999foo", "123999foo ", "*** Failers", "123abcfoo", "", "/(?<=(?!...999)\\d{3})foo/", "999foo", "123999foo ", "*** Failers", "123abcfoo"] [Just [" 0: foo"], Just [" 0: foo"], Nothing, Nothing, Just ["/(?<=(?!...999)\\d{3})foo/"], Just [" 0: foo"], Just [" 0: foo"], Nothing, Nothing] , testRegex "(?<=\\d{3}(?!999)...)foo" [] ["123abcfoo", "123456foo ", "*** Failers", "123999foo ", "", "/(?<=\\d{3}...)(?"], Just [" 2: "], Just [" 3: abcd"], Just [" 0:
"], Just [" 2: "], Just [" 3: abcd"], Just [" 0: "], Just [" 2: "], Just [" 3: abcd"], Just [" 0: Z)+|A)*" [] ["ZABCDEFG"] [Just [" 0: ZA"], Just [" 1: A"]] , testRegex "((?>)+|A)*" [] ["ZABCDEFG"] [Just [" 0: "], Just [" 1: "]] , testRegex "a*" [ERROR] ["abbab"] [Just [" 0: a"], Just [" 0: "], Just [" 0: "], Just [" 0: a"], Just [" 0: "], Just [" 0: "]] , testRegex "^[a-\\d]" [] ["abcde", "-things", "0digit", "*** Failers", "bcdef "] [Just [" 0: a"], Just [" 0: -"], Just [" 0: 0"], Nothing, Nothing] , testRegex "^[\\d-a]" [] ["abcde", "-things", "0digit", "*** Failers", "bcdef ", "", "/[[:space:]]+/", "> \\x09\\x0a\\x0c\\x0d\\x0b<", "", "/[[:blank:]]+/", "> \\x09\\x0a\\x0c\\x0d\\x0b<", "", "/[\\s]+/", "> \\x09\\x0a\\x0c\\x0d\\x0b<", "", "/\\s+/", "> \\x09\\x0a\\x0c\\x0d\\x0b<", "", "/a\vb/x", "ab"] [Just [" 0: a"], Just [" 0: -"], Just [" 0: 0"], Nothing, Nothing, Just ["/[[:space:]]+/"], Just [" 0: \\x09\\x0a\\x0c\\x0d\\x0b"], Just ["/[[:blank:]]+/"], Just [" 0: \\x09"], Just ["/[\\s]+/"], Just [" 0: \\x09\\x0a\\x0c\\x0d"], Just ["/\\s+/"], Just [" 0: \\x09\\x0a\\x0c\\x0d"], Just ["/a\vb/x"], Nothing] , testRegex "(?!\\A)x" [ERROR] ["a\\nxb\\n"] [Just [" 0: x"]] , testRegex "(?!^)x" [ERROR] ["a\\nxb\\n"] [Nothing] , testRegex "abc\\Qabc\\Eabc" [] ["abcabcabc", "", "/abc\\Q(*+|\\Eabc/", "abc(*+|abc "] [Just [" 0: abcabcabc"], Just ["/abc\\Q(*+|\\Eabc/"], Just [" 0: abc(*+|abc"]] , testRegex " abc\\Q abc\\Eabc" [ERROR] ["abc abcabc", "*** Failers", "abcabcabc ", "", "/abc#comment", "\\Q#not comment", "literal\\E/x", "abc#not comment\\n literal "] [Just [" 0: abc abcabc"], Nothing, Nothing, Just ["/abc#comment"], Just [" 0: abc#not comment\\x0a literal"]] , testRegex "ERROR" [] ["\\Q#not comment", "literal/x", "abc#not comment\\n literal "] [Just [" 0: abc#not comment\\x0a literal"]] , testRegex "ERROR" [] ["\\Q#not comment", "literal\\E #more comment", "/x", "abc#not comment\\n literal "] [Just [" 0: abc#not comment\\x0a literal"]] , testRegex "ERROR" [] ["\\Q#not comment", "literal\\E #more comment/x", "abc#not comment\\n literal "] [Just [" 0: abc#not comment\\x0a literal"]] , testRegex "\\Qabc\\$xyz\\E" [] ["abc\\\\\\$xyz"] [Just [" 0: abc\\$xyz"]] , testRegex "\\Qabc\\E\\$\\Qxyz\\E" [] ["abc\\$xyz"] [Just [" 0: abc$xyz"]] , testRegex "\\Gabc" [] ["abc", "*** Failers", "xyzabc "] [Just [" 0: abc"], Nothing, Nothing] , testRegex "\\Gabc." [ERROR] ["abc1abc2xyzabc3"] [Just [" 0: abc1"], Just [" 0: abc2"]] , testRegex "abc." [ERROR] ["abc1abc2xyzabc3 "] [Just [" 0: abc1"], Just [" 0: abc2"], Just [" 0: abc3"]] , testRegex "a(?x: b c )d" [] ["XabcdY", "*** Failers ", "Xa b c d Y "] [Just [" 0: abcd"], Nothing, Nothing] , testRegex "((?x)x y z | a b c)" [] ["XabcY", "AxyzB "] [Just [" 0: abc"], Just [" 1: abc"], Just [" 0: xyz"], Just [" 1: xyz"]] , testRegex "(?i)AB(?-i)C" [] ["XabCY", "*** Failers", "XabcY "] [Just [" 0: abC"], Nothing, Nothing] , testRegex "((?i)AB(?-i)C|D)E" [] ["abCE", "DE", "*** Failers", "abcE", "abCe ", "dE", "De "] [Just [" 0: abCE"], Just [" 1: abC"], Just [" 0: DE"], Just [" 1: D"], Nothing, Nothing, Nothing, Nothing, Nothing] , testRegex "(.*)\\d+\\1" [] ["abc123abc", "abc123bc "] [Just [" 0: abc123abc"], Just [" 1: abc"], Just [" 0: bc123bc"], Just [" 1: bc"]] , testRegex "(.*)\\d+\\1" [ERROR] ["abc123abc", "abc123bc ", "", "/((.*))\\d+\\1/", "abc123abc", "abc123bc "] [Just [" 0: abc123abc"], Just [" 1: abc"], Just [" 0: bc123bc"], Just [" 1: bc"], Just ["/((.*))\\d+\\1/"], Just [" 0: abc123abc"], Just [" 1: abc"], Just [" 2: abc"], Just [" 0: bc123bc"], Just [" 1: bc"], Just [" 2: bc"]] , testRegex "-- This tests for an IPv6 address in the form where it can have up to --" [] ["/-- eight components, one and only one of which is empty. This must be --/", "/-- an internal component. --/"] [Just ["/-- eight components, one and only one of which is empty. This must be --/"], Nothing, Just ["/-- an internal component. --/"], Nothing] , testRegex "ERROR" [] ["(?: # start of item", "(?: [0-9a-f]{1,4} | # 1-4 hex digits or", "(?(1)0 | () ) ) # if null previously matched, fail; else null", ": # followed by colon", "){1,7} # end item; 1-7 of them required ", "[0-9a-f]{1,4} $ # final hex number at end of string", "(?(1)|.) # check that there was an empty component", "/xi", "a123::a123", "a123:b342::abcd", "a123:b342::324e:abcd", "a123:ddde:b342::324e:abcd", "a123:ddde:b342::324e:dcba:abcd", "a123:ddde:9999:b342::324e:dcba:abcd", "*** Failers", "1:2:3:4:5:6:7:8", "a123:bce:ddde:9999:b342::324e:dcba:abcd", "a123::9999:b342::324e:dcba:abcd", "abcde:2:3:4:5:6:7:8", "::1", "abcd:fee0:123:: ", ":1", "1: "] [Just [" 0: a123::a123"], Just [" 1: "], Just [" 0: a123:b342::abcd"], Just [" 1: "], Just [" 0: a123:b342::324e:abcd"], Just [" 1: "], Just [" 0: a123:ddde:b342::324e:abcd"], Just [" 1: "], Just [" 0: a123:ddde:b342::324e:dcba:abcd"], Just [" 1: "], Just [" 0: a123:ddde:9999:b342::324e:dcba:abcd"], Just [" 1: "], Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing] , testRegex "[z\\Qa-d]\\E]" [] ["z", "a", "-", "d", "] ", "*** Failers", "b "] [Just [" 0: z"], Just [" 0: a"], Just [" 0: -"], Just [" 0: d"], Just [" 0: ]"], Just [" 0: a"], Nothing] , testRegex "[\\z\\C]" [] ["z", "C ", "", "/\\M/", "M ", "", "/(a+)*b/", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ", "", "/(?i)reg(?:ul(?:[a\228]|ae)r|ex)/", "REGular", "regulaer", "Regex ", "regul\228r "] [Just [" 0: z"], Just [" 0: C"], Just ["/\\M/"], Just [" 0: M"], Just ["/(a+)*b/"], Nothing, Just ["/(?i)reg(?:ul(?:[a\228]|ae)r|ex)/"], Just [" 0: REGular"], Just [" 0: regulaer"], Just [" 0: Regex"], Just [" 0: regul\\xe4r"]] , testRegex "\197\230\229\228[\224-\255\192-\223]+" [] ["\197\230\229\228\224", "\197\230\229\228\255", "\197\230\229\228\192", "\197\230\229\228\223"] [Just [" 0: \\xc5\\xe6\\xe5\\xe4\\xe0"], Just [" 0: \\xc5\\xe6\\xe5\\xe4\\xff"], Just [" 0: \\xc5\\xe6\\xe5\\xe4\\xc0"], Just [" 0: \\xc5\\xe6\\xe5\\xe4\\xdf"]] , testRegex "(?<=Z)X." [] ["\\x84XAZXB"] [Just [" 0: XB"]] , testRegex "ab cd (?x) de fg" [] ["ab cd defg"] [Just [" 0: ab cd defg"]] , testRegex "ab cd(?x) de fg" [] ["ab cddefg", "** Failers ", "abcddefg"] [Just [" 0: ab cddefg"], Nothing, Nothing] , testRegex "(?"], Just [" 2: "], Just [" 0: D"], Just [" 1: "], Just [" 2: "]] , testRegex "(a|)*\\d" [] ["aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4"] [Nothing, Just [" 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4"], Just [" 1: "]] , testRegex "(?>a|)*\\d" [] ["aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4"] [Nothing, Just [" 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4"]] , testRegex "( (A | (?(1)0|) )* )" [ERROR] ["abcd"] [Just [" 0: "], Just [" 1: "], Just [" 2: "]] , testRegex "( ( (?(1)0|) )* )" [ERROR] ["abcd"] [Just [" 0: "], Just [" 1: "], Just [" 2: "]] , testRegex "( (?(1)0|)* )" [ERROR] ["abcd"] [Just [" 0: "], Just [" 1: "]]