From 1176bb973de467aefbc8750964c724fda0f70eec Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 10 Sep 2006 03:28:05 +0000 Subject: [PATCH] new test suite for built-in pregexp svn: r4288 --- collects/tests/mzscheme/rx.ss | 1383 +++++++++++++++++++++++++++++++++ 1 file changed, 1383 insertions(+) create mode 100644 collects/tests/mzscheme/rx.ss diff --git a/collects/tests/mzscheme/rx.ss b/collects/tests/mzscheme/rx.ss new file mode 100644 index 0000000000..ff7b1a2e7c --- /dev/null +++ b/collects/tests/mzscheme/rx.ss @@ -0,0 +1,1383 @@ + +(load-relative "loadtest.ss") + +;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(define (test-regexp result pattern input) + (test result regexp-match pattern input) + (test result regexp-match (bytes-append #"(?:" pattern #")") input) + (test result regexp-match (bytes-append #"(?:(?:" pattern #"))") input) + (test (and result (cons (car result) result)) + regexp-match (bytes-append #"(?:(" pattern #"))") input) + (test result regexp-match (bytes-append #"(?:)" pattern #"") input) + (test result regexp-match (bytes-append #"(?<=)" pattern #"") input) + (test result regexp-match (bytes-append #"(?:^|(?<=.))" pattern #"") input) + (test result regexp-match (bytes-append #"" pattern #"(?=)") input) + (test result regexp-match (bytes-append #"" pattern #"(?:$|(?=.))") input) + (test (and result (cons (car result) result)) + regexp-match (byte-pregexp (bytes-append #"(?=(" pattern #"))\\1")) input) + (test result regexp-match (bytes-append #"(?>" pattern #")") input) + ) + +;; For when adding "x"s to the beginning and end shouldn't change the result: +(define (test-regexp-x result pattern input) + (test-regexp result pattern input) + (test-regexp result pattern (bytes-append #"xxx" input #"xxx")) + ) + +(test-regexp-x '(#"a") #"a" #"abc") +(test-regexp '(#"a") #"^a" #"abc") +(test-regexp-x '(#"b") #"b" #"abc") +(test-regexp-x #f #"b$" #"abc") +(test-regexp-x '(#"c") #"c" #"abc") +(test-regexp-x #f #"^c" #"abc") +(test-regexp '(#"c") #"c$" #"abc") + +(test-regexp '(#"a") #"." #"abc") +(test-regexp '(#"a") #"^." #"abc") +(test-regexp-x '(#"a") #"[a-b]" #"abc") +(test-regexp '(#"b") #"[^a]" #"abc") +(test-regexp '(#"c") #"[^ab]" #"abc") +(test-regexp '(#"c") #"[^a-b]" #"abc") +(test-regexp '(#"c") #".$" #"abc") + +(test-regexp '(#"a") #".?" #"abc") +(test-regexp '(#"a") #"a?" #"abc") +(test-regexp '(#"a") #"a*" #"abc") +(test-regexp '(#"a" #"a") #"(a)?" #"abc") +(test-regexp '(#"a" #"a") #"(a)*" #"abc") +(test-regexp-x '(#"") #"b?" #"abc") +(test-regexp-x '(#"b") #"b+" #"abc") +(test-regexp-x '(#"b") #"b+?" #"abc") +(test-regexp-x '(#"") #"b*" #"abc") +(test-regexp-x '(#"c") #"c+" #"abc") +(test-regexp-x '(#"c") #"c+?" #"abc") +(test-regexp-x '(#"") #"c*" #"abc") + +(test-regexp-x '(#"ab") #"ab" #"abc") +(test-regexp-x '(#"ab" #"a" #"b") #"(a)(b)" #"abc") +(test-regexp '(#"ab" #"a" #"b") #"(a)*(b)*" #"abc") +(test-regexp-x '(#"bc") #"bc" #"abc") +(test-regexp '(#"ab") #".." #"abc") +(test-regexp-x '(#"abc") #".bc" #"abc") +(test-regexp '(#"abc") #"..*" #"abc") +(test-regexp '(#"abc") #"[a-c]*" #"abc") +(test-regexp-x '(#"abc") #"[a-c]+" #"abc") + +(test-regexp '(#"abc") #".*" #"abc") +(test-regexp-x '(#"") #".*?" #"abc") +(test-regexp '(#"abc") #".*?c" #"abc") +(test-regexp '(#"abc") #".+" #"abc") +(test-regexp '(#"a") #".+?" #"abc") +(test-regexp '(#"abc") #".+?c" #"abc") + +(test-regexp-x '(#"abc") #"(?:a|b)*c" #"abc") +(test-regexp '(#"abc") #"(?:a|b|c)*" #"abc") +(test-regexp '(#"abc") #"(?:a|(?:b|c))*" #"abc") +(test-regexp '(#"") #"(?:b|c)*" #"abc") + +(test-regexp-x '(#"abc") #"(?:a|b)+c" #"abc") +(test-regexp-x '(#"abc") #"(?:a|b|c)+" #"abc") +(test-regexp-x '(#"abc") #"(?:a|(?:b|c))+" #"abc") +(test-regexp-x '(#"bc") #"(?:b|c)+" #"abc") + +(test-regexp-x '(#"abc" #"b") #"(a|b)*c" #"abc") +(test-regexp '(#"abc" #"c") #"(a|b|c)*" #"abc") +(test-regexp '(#"abc" #"c" #"c") #"(a|(b|c))*" #"abc") +(test-regexp '(#"abc" #"c" #"b") #"((a|b)|c)*" #"abc") +(test-regexp '(#"" #f) #"(b|c)*" #"abc") + +(test-regexp-x '(#"abc" #"b") #"(a|b)+c" #"abc") +(test-regexp-x '(#"abc" #"c") #"(a|b|c)+" #"abc") +(test-regexp-x '(#"abc" #"c" #"c") #"(a|(b|c))+" #"abc") +(test-regexp-x '(#"abc" #"c" #"b") #"((a|b)|c)+" #"abc") +(test-regexp-x '(#"bc" #"c") #"(b|c)+" #"abc") + +(map (lambda (t) + (err/rt-test (byte-pregexp t)) + (err/rt-test (pregexp t))) + '(#")" + #"*" + #"?" + #"+")) + +;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Most of the following tests are derived from "testinput" in +;; CL-PPCRE, which probably is from Perl originally. +;; The tests have been modified to avoid various incompatibilities. + +(map (lambda (t) + (if (pair? t) + (test (caddr t) regexp-match (byte-pregexp (car t)) (cadr t)) + (err/rt-test (byte-pregexp t)))) + '(#"}" + #"]" + #"[a[:alph:]b]" + (#"the quick brown fox" #"the quick brown fox" (#"the quick brown fox")) + (#"the quick brown fox" #"The quick brown FOX" #f) + (#"the quick brown fox" #"What do you know about the quick brown fox?" (#"the quick brown fox")) + (#"the quick brown fox" #"What do you know about THE QUICK BROWN FOX?" #f) + (#"(?i:The quick brown fox)" #"the quick brown fox" (#"the quick brown fox")) + (#"(?i:The quick brown fox)" #"The quick brown FOX" (#"The quick brown FOX")) + (#"(?i:The quick brown fox)" #"What do you know about the quick brown fox?" (#"the quick brown fox")) + (#"(?i:The quick brown fox)" #"What do you know about THE QUICK BROWN FOX?" (#"THE QUICK BROWN FOX")) + (#"abcd\t\n\r\f\a\e\071\x3b\\$\\\\\\?caxyz" #"abcd\t\n\r\f\a\e9;$\\?caxyz" (#"abcd\t\n\r\f\a\e9;$\\?caxyz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"abxyzpqrrrabbxyyyypqAzz" (#"abxyzpqrrrabbxyyyypqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"abxyzpqrrrabbxyyyypqAzz" (#"abxyzpqrrrabbxyyyypqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"aabxyzpqrrrabbxyyyypqAzz" (#"aabxyzpqrrrabbxyyyypqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"aaabxyzpqrrrabbxyyyypqAzz" (#"aaabxyzpqrrrabbxyyyypqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"aaaabxyzpqrrrabbxyyyypqAzz" (#"aaaabxyzpqrrrabbxyyyypqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"abcxyzpqrrrabbxyyyypqAzz" (#"abcxyzpqrrrabbxyyyypqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"aabcxyzpqrrrabbxyyyypqAzz" (#"aabcxyzpqrrrabbxyyyypqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"aaabcxyzpqrrrabbxyyyypAzz" (#"aaabcxyzpqrrrabbxyyyypAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"aaabcxyzpqrrrabbxyyyypqAzz" (#"aaabcxyzpqrrrabbxyyyypqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"aaabcxyzpqrrrabbxyyyypqqAzz" (#"aaabcxyzpqrrrabbxyyyypqqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"aaabcxyzpqrrrabbxyyyypqqqAzz" (#"aaabcxyzpqrrrabbxyyyypqqqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"aaabcxyzpqrrrabbxyyyypqqqqAzz" (#"aaabcxyzpqrrrabbxyyyypqqqqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"aaabcxyzpqrrrabbxyyyypqqqqqAzz" (#"aaabcxyzpqrrrabbxyyyypqqqqqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"aaabcxyzpqrrrabbxyyyypqqqqqqAzz" (#"aaabcxyzpqrrrabbxyyyypqqqqqqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"aaaabcxyzpqrrrabbxyyyypqAzz" (#"aaaabcxyzpqrrrabbxyyyypqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"abxyzzpqrrrabbxyyyypqAzz" (#"abxyzzpqrrrabbxyyyypqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"aabxyzzzpqrrrabbxyyyypqAzz" (#"aabxyzzzpqrrrabbxyyyypqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"aaabxyzzzzpqrrrabbxyyyypqAzz" (#"aaabxyzzzzpqrrrabbxyyyypqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"aaaabxyzzzzpqrrrabbxyyyypqAzz" (#"aaaabxyzzzzpqrrrabbxyyyypqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"abcxyzzpqrrrabbxyyyypqAzz" (#"abcxyzzpqrrrabbxyyyypqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"aabcxyzzzpqrrrabbxyyyypqAzz" (#"aabcxyzzzpqrrrabbxyyyypqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"aaabcxyzzzzpqrrrabbxyyyypqAzz" (#"aaabcxyzzzzpqrrrabbxyyyypqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"aaaabcxyzzzzpqrrrabbxyyyypqAzz" (#"aaaabcxyzzzzpqrrrabbxyyyypqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"aaaabcxyzzzzpqrrrabbbxyyyypqAzz" (#"aaaabcxyzzzzpqrrrabbbxyyyypqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"aaaabcxyzzzzpqrrrabbbxyyyyypqAzz" (#"aaaabcxyzzzzpqrrrabbbxyyyyypqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"aaabcxyzpqrrrabbxyyyypABzz" (#"aaabcxyzpqrrrabbxyyyypABzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"aaabcxyzpqrrrabbxyyyypABBzz" (#"aaabcxyzpqrrrabbxyyyypABBzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #">>>aaabxyzpqrrrabbxyyyypqAzz" (#"aaabxyzpqrrrabbxyyyypqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #">aaaabxyzpqrrrabbxyyyypqAzz" (#"aaaabxyzpqrrrabbxyyyypqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #">>>>abcxyzpqrrrabbxyyyypqAzz" (#"abcxyzpqrrrabbxyyyypqAzz")) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"abxyzpqrrabbxyyyypqAzz" #f) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"abxyzpqrrrrabbxyyyypqAzz" #f) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"abxyzpqrrrabxyyyypqAzz" #f) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz" #f) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"aaaabcxyzzzzpqrrrabbbxyyypqAzz" #f) + (#"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz" #"aaabcxyzpqrrrabbxyyyypqqqqqqqAzz" #f) + (#"^(abc){1,2}zz" #"abczz" (#"abczz" #"abc")) + (#"^(abc){1,2}zz" #"abcabczz" (#"abcabczz" #"abc")) + (#"^(abc){1,2}zz" #"zz" #f) + (#"^(abc){1,2}zz" #"abcabcabczz" #f) + (#"^(abc){1,2}zz" #">>abczz" #f) + (#"^(b+?|a){1,2}?c" #"bc" (#"bc" #"b")) + (#"^(b+?|a){1,2}?c" #"bbc" (#"bbc" #"b")) + (#"^(b+?|a){1,2}?c" #"bbbc" (#"bbbc" #"bb")) + (#"^(b+?|a){1,2}?c" #"bac" (#"bac" #"a")) + (#"^(b+?|a){1,2}?c" #"bbac" (#"bbac" #"a")) + (#"^(b+?|a){1,2}?c" #"aac" (#"aac" #"a")) + (#"^(b+?|a){1,2}?c" #"abbbbbbbbbbbc" (#"abbbbbbbbbbbc" #"bbbbbbbbbbb")) + (#"^(b+?|a){1,2}?c" #"bbbbbbbbbbbac" (#"bbbbbbbbbbbac" #"a")) + (#"^(b+?|a){1,2}?c" #"aaac" #f) + (#"^(b+?|a){1,2}?c" #"abbbbbbbbbbbac" #f) + (#"^(b+|a){1,2}c" #"bc" (#"bc" #"b")) + (#"^(b+|a){1,2}c" #"bbc" (#"bbc" #"bb")) + (#"^(b+|a){1,2}c" #"bbbc" (#"bbbc" #"bbb")) + (#"^(b+|a){1,2}c" #"bac" (#"bac" #"a")) + (#"^(b+|a){1,2}c" #"bbac" (#"bbac" #"a")) + (#"^(b+|a){1,2}c" #"aac" (#"aac" #"a")) + (#"^(b+|a){1,2}c" #"abbbbbbbbbbbc" (#"abbbbbbbbbbbc" #"bbbbbbbbbbb")) + (#"^(b+|a){1,2}c" #"bbbbbbbbbbbac" (#"bbbbbbbbbbbac" #"a")) + (#"^(b+|a){1,2}c" #"aaac" #f) + (#"^(b+|a){1,2}c" #"abbbbbbbbbbbac" #f) + (#"^(b+|a){1,2}?bc" #"bbc" (#"bbc" #"b")) + (#"^(b*|ba){1,2}?bc" #"babc" (#"babc" #"ba")) + (#"^(b*|ba){1,2}?bc" #"bbabc" (#"bbabc" #"ba")) + (#"^(b*|ba){1,2}?bc" #"bababc" (#"bababc" #"ba")) + (#"^(b*|ba){1,2}?bc" #"bababbc" #f) + (#"^(b*|ba){1,2}?bc" #"babababc" #f) + (#"^(ba|b*){1,2}?bc" #"babc" (#"babc" #"ba")) + (#"^(ba|b*){1,2}?bc" #"bbabc" (#"bbabc" #"ba")) + (#"^(ba|b*){1,2}?bc" #"bababc" (#"bababc" #"ba")) + (#"^(ba|b*){1,2}?bc" #"bababbc" #f) + (#"^(ba|b*){1,2}?bc" #"babababc" #f) + (#"^[ab\\]cde]" #"athing" (#"a")) + (#"^[ab\\]cde]" #"bthing" (#"b")) + (#"^[ab\\]cde]" #"]thing" (#"]")) + (#"^[ab\\]cde]" #"cthing" (#"c")) + (#"^[ab\\]cde]" #"dthing" (#"d")) + (#"^[ab\\]cde]" #"ething" (#"e")) + (#"^[ab\\]cde]" #"fthing" #f) + (#"^[ab\\]cde]" #"[thing" #f) + (#"^[ab\\]cde]" #"\\\\thing" #f) + (#"^[]cde]" #"]thing" (#"]")) + (#"^[]cde]" #"cthing" (#"c")) + (#"^[]cde]" #"dthing" (#"d")) + (#"^[]cde]" #"ething" (#"e")) + (#"^[]cde]" #"athing" #f) + (#"^[]cde]" #"fthing" #f) + (#"^[^ab\\]cde]" #"fthing" (#"f")) + (#"^[^ab\\]cde]" #"[thing" (#"[")) + (#"^[^ab\\]cde]" #"\\\\thing" (#"\\")) + (#"^[^ab\\]cde]" #"athing" #f) + (#"^[^ab\\]cde]" #"bthing" #f) + (#"^[^ab\\]cde]" #"]thing" #f) + (#"^[^ab\\]cde]" #"cthing" #f) + (#"^[^ab\\]cde]" #"dthing" #f) + (#"^[^ab\\]cde]" #"ething" #f) + (#"^[^]cde]" #"athing" (#"a")) + (#"^[^]cde]" #"fthing" (#"f")) + (#"^[^]cde]" #"]thing" #f) + (#"^[^]cde]" #"cthing" #f) + (#"^[^]cde]" #"dthing" #f) + (#"^[^]cde]" #"ething" #f) + (#"^\\\201" #"\201" #f) + (#"^\377" #"\377" (#"\377")) + (#"^[0-9]+$" #"0" (#"0")) + (#"^[0-9]+$" #"1" (#"1")) + (#"^[0-9]+$" #"2" (#"2")) + (#"^[0-9]+$" #"3" (#"3")) + (#"^[0-9]+$" #"4" (#"4")) + (#"^[0-9]+$" #"5" (#"5")) + (#"^[0-9]+$" #"6" (#"6")) + (#"^[0-9]+$" #"7" (#"7")) + (#"^[0-9]+$" #"8" (#"8")) + (#"^[0-9]+$" #"9" (#"9")) + (#"^[0-9]+$" #"10" (#"10")) + (#"^[0-9]+$" #"100" (#"100")) + (#"^[0-9]+$" #"abc" #f) + (#"^.*nter" #"enter" (#"enter")) + (#"^.*nter" #"inter" (#"inter")) + (#"^.*nter" #"uponter" (#"uponter")) + (#"^xxx[0-9]+$" #"xxx0" (#"xxx0")) + (#"^xxx[0-9]+$" #"xxx1234" (#"xxx1234")) + (#"^xxx[0-9]+$" #"xxx" #f) + (#"^.+[0-9][0-9][0-9]$" #"x123" (#"x123")) + (#"^.+[0-9][0-9][0-9]$" #"xx123" (#"xx123")) + (#"^.+[0-9][0-9][0-9]$" #"123456" (#"123456")) + (#"^.+[0-9][0-9][0-9]$" #"123" #f) + (#"^.+[0-9][0-9][0-9]$" #"x1234" (#"x1234")) + (#"^.+?[0-9][0-9][0-9]$" #"x123" (#"x123")) + (#"^.+?[0-9][0-9][0-9]$" #"xx123" (#"xx123")) + (#"^.+?[0-9][0-9][0-9]$" #"123456" (#"123456")) + (#"^.+?[0-9][0-9][0-9]$" #"123" #f) + (#"^.+?[0-9][0-9][0-9]$" #"x1234" (#"x1234")) + (#"^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$" #"abc!pqr=apquxz.ixr.zzz.ac.uk" (#"abc!pqr=apquxz.ixr.zzz.ac.uk" #"abc" #"pqr")) + (#"^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$" #"!pqr=apquxz.ixr.zzz.ac.uk" #f) + (#"^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$" #"abc!=apquxz.ixr.zzz.ac.uk" #f) + (#"^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$" #"abc!pqr=apquxz:ixr.zzz.ac.uk" #f) + (#"^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$" #"abc!pqr=apquxz.ixr.zzz.ac.ukk" #f) + (#":" #"Well, we need a colon: somewhere" (#":")) + (#":" #"Fail if we don't" #f) + (#"(?i:([\\da-f:]+)$)" #"0abc" (#"0abc" #"0abc")) + (#"(?i:([\\da-f:]+)$)" #"abc" (#"abc" #"abc")) + (#"(?i:([\\da-f:]+)$)" #"fed" (#"fed" #"fed")) + (#"(?i:([\\da-f:]+)$)" #"E" (#"E" #"E")) + (#"(?i:([\\da-f:]+)$)" #"::" (#"::" #"::")) + (#"(?i:([\\da-f:]+)$)" #"5f03:12C0::932e" (#"5f03:12C0::932e" #"5f03:12C0::932e")) + (#"(?i:([\\da-f:]+)$)" #"fed def" (#"def" #"def")) + (#"(?i:([\\da-f:]+)$)" #"Any old stuff" (#"ff" #"ff")) + (#"(?i:([\\da-f:]+)$)" #"0zzz" #f) + (#"(?i:([\\da-f:]+)$)" #"gzzz" #f) + (#"(?i:([\\da-f:]+)$)" #"fed\\x20" (#"20" #"20")) + (#"(?i:([\\da-f:]+)$)" #"Any old rubbish" #f) + (#"^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$" #".1.2.3" (#".1.2.3" #"1" #"2" #"3")) + (#"^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$" #"A.12.123.0" (#"A.12.123.0" #"12" #"123" #"0")) + (#"^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$" #".1.2.3333" #f) + (#"^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$" #"1.2.3" #f) + (#"^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$" #"1234.2.3" #f) + (#"^(\\d+)\\s+IN\\s+SOA\\s+(\\S+)\\s+(\\S+)\\s*\\(\\s*$" #"1 IN SOA non-sp1 non-sp2(" (#"1 IN SOA non-sp1 non-sp2(" #"1" #"non-sp1" #"non-sp2")) + (#"^(\\d+)\\s+IN\\s+SOA\\s+(\\S+)\\s+(\\S+)\\s*\\(\\s*$" #"1 IN SOA non-sp1 non-sp2 (" (#"1 IN SOA non-sp1 non-sp2 (" #"1" #"non-sp1" #"non-sp2")) + (#"^(\\d+)\\s+IN\\s+SOA\\s+(\\S+)\\s+(\\S+)\\s*\\(\\s*$" #"1IN SOA non-sp1 non-sp2(" #f) + (#"^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$" #"a." (#"a." #f)) + (#"^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$" #"Z." (#"Z." #f)) + (#"^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$" #"2." (#"2." #f)) + (#"^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$" #"ab-c.pq-r." (#"ab-c.pq-r." #".pq-r")) + (#"^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$" #"sxk.zzz.ac.uk." (#"sxk.zzz.ac.uk." #".uk")) + (#"^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$" #"x-.y-." (#"x-.y-." #".y-")) + (#"^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$" #"-abc.peq." #f) + (#"^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$" #"*.a" (#"*.a" #f #f #f)) + (#"^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$" #"*.b0-a" (#"*.b0-a" #"0-a" #f #f)) + (#"^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$" #"*.c3-b.c" (#"*.c3-b.c" #"3-b" #".c" #f)) + (#"^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$" #"*.c-a.b-c" (#"*.c-a.b-c" #"-a" #".b-c" #"-c")) + (#"^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$" #"*.0" #f) + (#"^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$" #"*.a-" #f) + (#"^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$" #"*.a-b.c-" #f) + (#"^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$" #"*.c-a.0-c" #f) + (#"^(?=ab(de))(abd)(e)" #"abde" (#"abde" #"de" #"abd" #"e")) + (#"^(?!(ab)de|x)(abd)(f)" #"abdf" (#"abdf" #"ab" #"abd" #"f")) + (#"^(?=(ab(cd)))(ab)" #"abcd" (#"ab" #"abcd" #"cd" #"ab")) + (#"(?i:^[\\da-f](\\.[\\da-f])*$)" #"a.b.c.d" (#"a.b.c.d" #".d")) + (#"(?i:^[\\da-f](\\.[\\da-f])*$)" #"A.B.C.D" (#"A.B.C.D" #".D")) + (#"(?i:^[\\da-f](\\.[\\da-f])*$)" #"a.b.c.1.2.3.C" (#"a.b.c.1.2.3.C" #".C")) + (#"^\\\".*\\\"\\s*(;.*)?$" #"\"1234\"" (#"\"1234\"" #f)) + (#"^\\\".*\\\"\\s*(;.*)?$" #"\"abcd\" ;" (#"\"abcd\" ;" #";")) + (#"^\\\".*\\\"\\s*(;.*)?$" #"\"\" ; rhubarb" (#"\"\" ; rhubarb" #"; rhubarb")) + (#"^\\\".*\\\"\\s*(;.*)?$" #"\"1234\" : things" #f) + (#"^$" #"\\" #f) + (#"^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$" #"abcdefhijklm" (#"abcdefhijklm" #"abc" #"bc" #"c" #"def" #"ef" #"f" #"hij" #"ij" #"j" #"klm" #"lm" #"m")) + (#"^(?:a(b(c)))(?:d(e(f)))(?:h(i(j)))(?:k(l(m)))$" #"abcdefhijklm" (#"abcdefhijklm" #"bc" #"c" #"ef" #"f" #"ij" #"j" #"lm" #"m")) +; (#"^[\\w][\\W][\\s][\\S][\\d][\\D][\\b][\\n][\\c]][\\022]" #"a+ Z0+\\x08\\n\\x1d\\x12" #f) + (#"^[.^$|()*+?{,}]+" #".^\\$(*+)|{?,?}" (#".^")) + (#"^a*\\w" #"z" (#"z")) + (#"^a*\\w" #"az" (#"az")) + (#"^a*\\w" #"aaaz" (#"aaaz")) + (#"^a*\\w" #"a" (#"a")) + (#"^a*\\w" #"aa" (#"aa")) + (#"^a*\\w" #"aaaa" (#"aaaa")) + (#"^a*\\w" #"a+" (#"a")) + (#"^a*\\w" #"aa+" (#"aa")) + (#"^a*?\\w" #"z" (#"z")) + (#"^a*?\\w" #"az" (#"a")) + (#"^a*?\\w" #"aaaz" (#"a")) + (#"^a*?\\w" #"a" (#"a")) + (#"^a*?\\w" #"aa" (#"a")) + (#"^a*?\\w" #"aaaa" (#"a")) + (#"^a*?\\w" #"a+" (#"a")) + (#"^a*?\\w" #"aa+" (#"a")) + (#"^a+\\w" #"az" (#"az")) + (#"^a+\\w" #"aaaz" (#"aaaz")) + (#"^a+\\w" #"aa" (#"aa")) + (#"^a+\\w" #"aaaa" (#"aaaa")) + (#"^a+\\w" #"aa+" (#"aa")) + (#"^a+?\\w" #"az" (#"az")) + (#"^a+?\\w" #"aaaz" (#"aa")) + (#"^a+?\\w" #"aa" (#"aa")) + (#"^a+?\\w" #"aaaa" (#"aa")) + (#"^a+?\\w" #"aa+" (#"aa")) + (#"^\\d{8}\\w{2,}" #"1234567890" (#"1234567890")) + (#"^\\d{8}\\w{2,}" #"12345678ab" (#"12345678ab")) + (#"^\\d{8}\\w{2,}" #"12345678__" (#"12345678__")) + (#"^\\d{8}\\w{2,}" #"1234567" #f) + (#"^[aeiou\\d]{4,5}$" #"uoie" (#"uoie")) + (#"^[aeiou\\d]{4,5}$" #"1234" (#"1234")) + (#"^[aeiou\\d]{4,5}$" #"12345" (#"12345")) + (#"^[aeiou\\d]{4,5}$" #"aaaaa" (#"aaaaa")) + (#"^[aeiou\\d]{4,5}$" #"123456" #f) + (#"^[aeiou\\d]{4,5}?" #"uoie" (#"uoie")) + (#"^[aeiou\\d]{4,5}?" #"1234" (#"1234")) + (#"^[aeiou\\d]{4,5}?" #"12345" (#"1234")) + (#"^[aeiou\\d]{4,5}?" #"aaaaa" (#"aaaa")) + (#"^[aeiou\\d]{4,5}?" #"123456" (#"1234")) + (#"^(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\\11*(\\3\\4)\\12$" #"abcdefghijkcda2" #f) + (#"^(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\\11*(\\3\\4)\\12$" #"abcdefghijkkkkcda2" #f) + (#"(cat(a(ract|tonic)|erpillar)) \\1()2(3)" #"cataract cataract23" (#"cataract cataract23" #"cataract" #"aract" #"ract" #"" #"3")) + (#"(cat(a(ract|tonic)|erpillar)) \\1()2(3)" #"catatonic catatonic23" (#"catatonic catatonic23" #"catatonic" #"atonic" #"tonic" #"" #"3")) + (#"(cat(a(ract|tonic)|erpillar)) \\1()2(3)" #"caterpillar caterpillar23" (#"caterpillar caterpillar23" #"caterpillar" #"erpillar" #f #"" #"3")) + (#"^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]" #"From abcd Mon Sep 01 12:33:02 1997" (#"From abcd Mon Sep 01 12:33" #"abcd")) + (#"^From\\s+\\S+\\s+([a-zA-Z]{3}\\s+){2}\\d{1,2}\\s+\\d\\d:\\d\\d" #"From abcd Mon Sep 01 12:33:02 1997" (#"From abcd Mon Sep 01 12:33" #"Sep ")) + (#"^From\\s+\\S+\\s+([a-zA-Z]{3}\\s+){2}\\d{1,2}\\s+\\d\\d:\\d\\d" #"From abcd Mon Sep 1 12:33:02 1997" (#"From abcd Mon Sep 1 12:33" #"Sep ")) + (#"^From\\s+\\S+\\s+([a-zA-Z]{3}\\s+){2}\\d{1,2}\\s+\\d\\d:\\d\\d" #"From abcd Sep 01 12:33:02 1997" #f) + (#"\\w+(?=\t)" #"the quick brown\\t fox" #f) + (#"foo(?!bar)(.*)" #"foobar is foolish see?" (#"foolish see?" #"lish see?")) + (#"(?:(?!foo)...|^.{0,2})bar(.*)" #"foobar crowbar etc" (#"rowbar etc" #" etc")) + (#"(?:(?!foo)...|^.{0,2})bar(.*)" #"barrel" (#"barrel" #"rel")) + (#"(?:(?!foo)...|^.{0,2})bar(.*)" #"2barrel" (#"2barrel" #"rel")) + (#"(?:(?!foo)...|^.{0,2})bar(.*)" #"A barrel" (#"A barrel" #"rel")) + (#"^(\\D*)(?=\\d)(?!123)" #"abc456" (#"abc" #"abc")) + (#"^(\\D*)(?=\\d)(?!123)" #"abc123" #f) + (#"^(a)\\1{2,3}(.)" #"aaab" (#"aaab" #"a" #"b")) + (#"^(a)\\1{2,3}(.)" #"aaaab" (#"aaaab" #"a" #"b")) + (#"^(a)\\1{2,3}(.)" #"aaaaab" (#"aaaaa" #"a" #"a")) + (#"^(a)\\1{2,3}(.)" #"aaaaaab" (#"aaaaa" #"a" #"a")) + (#"(?!^)abc" #"the abc" (#"abc")) + (#"(?!^)abc" #"abc" #f) + (#"(?=^)abc" #"abc" (#"abc")) + (#"(?=^)abc" #"the abc" #f) + (#"^[ab]{1,3}(ab*|b)" #"aabbbbb" (#"aabb" #"b")) + (#"^[ab]{1,3}?(ab*|b)" #"aabbbbb" (#"aabbbbb" #"abbbbb")) + (#"^[ab]{1,3}?(ab*?|b)" #"aabbbbb" (#"aa" #"a")) + (#"^[ab]{1,3}(ab*?|b)" #"aabbbbb" (#"aabb" #"b")) +#| + (#"abc\\0def\\00pqr\\000xyz\\0000AB" #"abc\\0def\\00pqr\\000xyz\\0000AB" #f) + (#"abc\\0def\\00pqr\\000xyz\\0000AB" #"abc456 abc\\0def\\00pqr\\000xyz\\0000ABCDE" #f) + (#"abc\\x0def\\x00pqr\\x000xyz\\x0000AB" #"abc\\x0def\\x00pqr\\x000xyz\\x0000AB" #f) + (#"abc\\x0def\\x00pqr\\x000xyz\\x0000AB" #"abc456 abc\\x0def\\x00pqr\\x000xyz\\x0000ABCDE" #f) + (#"^[\\000-\\037]" #"\\0A" #f) + (#"^[\\000-\\037]" #"\\01B" #f) + (#"^[\\000-\\037]" #"\\037C" #f) + (#"\\0*" #"\\0\\0\\0\\0" #f) + (#"A\\x0{2,3}Z" #"The A\\x0\\x0Z" #f) + (#"A\\x0{2,3}Z" #"An A\\0\\x0\\0Z" #f) + (#"A\\x0{2,3}Z" #"A\\0Z" #f) + (#"A\\x0{2,3}Z" #"A\\0\\x0\\0\\x0Z" #f) +|# + (#"^(cow|)\\1(bell)" #"cowcowbell" (#"cowcowbell" #"cow" #"bell")) + (#"^(cow|)\\1(bell)" #"bell" (#"bell" #"" #"bell")) + (#"^(cow|)\\1(bell)" #"cowbell" #f) +#| + (#"^\\s" #"\\040abc" #f) + (#"^\\s" #"\\x0cabc" #f) + (#"^\\s" #"\\nabc" #f) + (#"^\\s" #"\\rabc" #f) + (#"^\\s" #"\\tabc" #f) + (#"^\\s" #"abc" #f) +|# + (#"^(a|x)\\1*b" #"ab" (#"ab" #"a")) + (#"^(a|x)\\1*b" #"aaaab" (#"aaaab" #"a")) + (#"^(a|x)\\1*b" #"acb" #f) + (#"^(a|x)\\1+b" #"aab" (#"aab" #"a")) + (#"^(a|x)\\1+b" #"aaaab" (#"aaaab" #"a")) + (#"^(a|x)\\1+b" #"ab" #f) + (#"^(a|)\\1?b" #"ab" (#"ab" #"a")) + (#"^(a|)\\1?b" #"aab" (#"aab" #"a")) + (#"^(a|)\\1?b" #"b" (#"b" #"")) + (#"^(a|)\\1?b" #"acb" #f) + (#"^(a|)\\1{2}b" #"aaab" (#"aaab" #"a")) + (#"^(a|)\\1{2}b" #"b" (#"b" #"")) + (#"^(a|)\\1{2}b" #"ab" #f) + (#"^(a|)\\1{2}b" #"aab" #f) + (#"^(a|)\\1{2}b" #"aaaab" #f) + (#"^(a|)\\1{2,3}b" #"aaab" (#"aaab" #"a")) + (#"^(a|)\\1{2,3}b" #"aaaab" (#"aaaab" #"a")) + (#"^(a|)\\1{2,3}b" #"b" (#"b" #"")) + (#"^(a|)\\1{2,3}b" #"ab" #f) + (#"^(a|)\\1{2,3}b" #"aab" #f) + (#"^(a|)\\1{2,3}b" #"aaaaab" #f) + (#"ab{1,3}bc" #"abbbbc" (#"abbbbc")) + (#"ab{1,3}bc" #"abbbc" (#"abbbc")) + (#"ab{1,3}bc" #"abbc" (#"abbc")) + (#"ab{1,3}bc" #"abc" #f) + (#"ab{1,3}bc" #"abbbbbc" #f) + (#"([^.]*)\\.([^:]*):[T ]+(.*)" #"track1.title:TBlah blah blah" (#"track1.title:TBlah blah blah" #"track1" #"title" #"Blah blah blah")) + (#"(?i:([^.]*)\\.([^:]*):[T ]+(.*))" #"track1.title:TBlah blah blah" (#"track1.title:TBlah blah blah" #"track1" #"title" #"Blah blah blah")) + (#"(?i:([^.]*)\\.([^:]*):[t ]+(.*))" #"track1.title:TBlah blah blah" (#"track1.title:TBlah blah blah" #"track1" #"title" #"Blah blah blah")) + (#"^[W-c]+$" #"WXY_^abc" (#"WXY_^abc")) + (#"^[W-c]+$" #"wxy" #f) + (#"(?i:^[W-c]+$)" #"WXY_^abc" (#"WXY_^abc")) + (#"(?i:^[W-c]+$)" #"wxy_^ABC" (#"wxy_^ABC")) + (#"(?i:^[\x3f-\x5F]+$)" #"WXY_^abc" (#"WXY_^abc")) + (#"(?i:^[\x3f-\x5F]+$)" #"wxy_^ABC" (#"wxy_^ABC")) + (#"(?:b)|(?::+)" #"b::c" (#"b")) + (#"(?:b)|(?::+)" #"c::b" (#"::")) + (#"[-az]+" #"az-" (#"az-")) + (#"[-az]+" #"b" #f) + (#"[az-]+" #"za-" (#"za-")) + (#"[az-]+" #"b" #f) + (#"[a\\-z]+" #"a-z" (#"a-z")) + (#"[a\\-z]+" #"b" #f) + (#"[a-z]+" #"abcdxyz" (#"abcdxyz")) + (#"[\\d-]+" #"12-34" (#"12-34")) + (#"[\\d-]+" #"aaa" #f) + #"[\\d-z]" + (#"[\\dz-]+" #"12-34z" (#"12-34z")) + (#"[\\dz-]+" #"aaa" #f) + (#"\\\x5c" #"\\\\" (#"\\")) + (#"\x20Z" #"the Zoo" (#" Z")) + (#"\x20Z" #"Zulu" #f) + (#"(?i:(abc)\\1)" #"abcabc" (#"abcabc" #"abc")) + (#"(?i:(abc)\\1)" #"ABCabc" (#"ABCabc" #"ABC")) + (#"(?i:(abc)\\1)" #"abcABC" (#"abcABC" #"abc")) + (#"ab\\{3cd" #"ab{3cd" (#"ab{3cd")) + #"ab{3cd" + (#"ab\\{3,cd" #"ab{3,cd" (#"ab{3,cd")) + #"ab{3,cd" + (#"ab\\{3,4a\\}cd" #"ab{3,4a}cd" (#"ab{3,4a}cd")) + #"ab{3,4a}cd" + (#"\\{4,5a\\}bc" #"{4,5a}bc" (#"{4,5a}bc")) + #"{4,5a}bc" + (#"(abc)\123" #"abc\x53" (#"abcS" #"abc")) + (#"(abc)\223" #"abc\x93" (#"abc\x93" #"abc")) + (#"(abc)\323" #"abc\xd3" (#"abc\xd3" #"abc")) + (#"(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)\\12\123" #"abcdefghijkllS" (#"abcdefghijkllS" #"a" #"b" #"c" #"d" #"e" #"f" #"g" #"h" #"i" #"j" #"k" #"l")) + #"(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\\12\123" + (#"a{0}bc" #"bc" (#"bc")) + (#"(a|(bc)){0,0}?xyz" #"xyz" (#"xyz" #f #f)) + (#"abc[\\10]de" #"abc\010de" #f) + (#"abc[\\1]de" #"abc\1de" #f) + (#"(abc)[\\1]de" #"abc\1de" #f) + "^([^a])([^\\b])([^c]*)([^d]{3,4})" + (#"[^a]" #"Abc" (#"A")) + (#"(?i:[^a])" #"Abc " (#"b")) + (#"[^a]+" #"AAAaAbc" (#"AAA")) + (#"(?i:[^a]+)" #"AAAaAbc " (#"bc ")) + (#"[^k]$" #"abc" (#"c")) + (#"[^k]$" #"abk " (#" ")) + (#"[^k]{2,3}$" #"abc" (#"abc")) + (#"[^k]{2,3}$" #"kbc" (#"bc")) + (#"[^k]{2,3}$" #"kabc " (#"bc ")) + (#"[^k]{2,3}$" #"abk" #f) + (#"[^k]{2,3}$" #"akb" #f) + (#"[^k]{2,3}$" #"akk " #f) + (#"^\\d{8,}\\@.+[^k]$" #"12345678\\@a.b.c.d" #f) + (#"^\\d{8,}\\@.+[^k]$" #"123456789\\@x.y.z" #f) + (#"^\\d{8,}\\@.+[^k]$" #"12345678\\@x.y.uk" #f) + (#"^\\d{8,}\\@.+[^k]$" #"1234567\\@a.b.c.d " #f) + (#"(a)\\1{8,}" #"aaaaaaaaa" (#"aaaaaaaaa" #"a")) + (#"(a)\\1{8,}" #"aaaaaaaaaa" (#"aaaaaaaaaa" #"a")) + (#"(a)\\1{8,}" #"aaaaaaa " #f) + (#"[^a]" #"aaaabcd" (#"b")) + (#"[^a]" #"aaAabcd " (#"A")) + (#"(?i:[^a])" #"aaaabcd" (#"b")) + (#"(?i:[^a])" #"aaAabcd " (#"b")) + (#"[^az]" #"aaaabcd" (#"b")) + (#"[^az]" #"aaAabcd " (#"A")) + (#"(?i:[^az])" #"aaaabcd" (#"b")) + (#"(?i:[^az])" #"aaAabcd " (#"b")) + (#"P[^*]TAIRE[^*]{1,6}?LL" #"xxxxxxxxxxxPSTAIREISLLxxxxxxxxx" (#"PSTAIREISLL")) + (#"P[^*]TAIRE[^*]{1,}?LL" #"xxxxxxxxxxxPSTAIREISLLxxxxxxxxx" (#"PSTAIREISLL")) + (#"(\\.\\d\\d[1-9]?)\\d+" #"1.230003938" (#".230003938" #".23")) + (#"(\\.\\d\\d[1-9]?)\\d+" #"1.875000282 " (#".875000282" #".875")) + (#"(\\.\\d\\d[1-9]?)\\d+" #"1.235 " (#".235" #".23")) + (#"(\\.\\d\\d((?=0)|\\d(?=\\d)))" #"1.230003938 " (#".23" #".23" #"")) + (#"(\\.\\d\\d((?=0)|\\d(?=\\d)))" #"1.875000282" (#".875" #".875" #"5")) + (#"(\\.\\d\\d((?=0)|\\d(?=\\d)))" #"1.235 " #f) + (#"a(?:)b" #"ab " (#"ab")) + (#"(?i:\\b(foo)\\s+(\\w+))" #"Food is on the foo table" (#"foo table" #"foo" #"table")) + (#"foo(.*)bar" #"The food is under the bar in the barn." (#"food is under the bar in the bar" #"d is under the bar in the ")) + (#"foo(.*?)bar" #"The food is under the bar in the barn." (#"food is under the bar" #"d is under the ")) + (#"(.*)(\\d*)" #"I have 2 numbers: 53147" (#"I have 2 numbers: 53147" #"I have 2 numbers: 53147" #"")) + (#"(.*)(\\d+)" #"I have 2 numbers: 53147" (#"I have 2 numbers: 53147" #"I have 2 numbers: 5314" #"7")) + (#"(.*?)(\\d*)" #"I have 2 numbers: 53147" (#"" #"" #"")) + (#"(.*?)(\\d+)" #"I have 2 numbers: 53147" (#"I have 2" #"I have " #"2")) + (#"(.*)(\\d+)$" #"I have 2 numbers: 53147" (#"I have 2 numbers: 53147" #"I have 2 numbers: 5314" #"7")) + (#"(.*?)(\\d+)$" #"I have 2 numbers: 53147" (#"I have 2 numbers: 53147" #"I have 2 numbers: " #"53147")) + (#"(.*)\\b(\\d+)$" #"I have 2 numbers: 53147" (#"I have 2 numbers: 53147" #"I have 2 numbers: " #"53147")) + (#"(.*\\D)(\\d+)$" #"I have 2 numbers: 53147" (#"I have 2 numbers: 53147" #"I have 2 numbers: " #"53147")) + (#"^\\D*(?!123)" #"ABC123" (#"AB")) + (#"^(\\D*)(?=\\d)(?!123)" #"ABC445" (#"ABC" #"ABC")) + (#"^(\\D*)(?=\\d)(?!123)" #"ABC123" #f) + #"^[W-]46]" + (#"^[W-]46\\]" #"W46]789 " (#"W46]")) + (#"^[W-]46\\]" #"-46]789" (#"-46]")) + (#"^[W-]46\\]" #"Wall" #f) + (#"^[W-]46\\]" #"Zebra" #f) + (#"^[W-]46\\]" #"42" #f) + (#"^[W-]46\\]" #"[abcd] " #f) + (#"^[W-]46\\]" #"]abcd[" #f) + (#"^[W-\\]46]" #"W46]789 " (#"W")) + (#"^[W-\\]46]" #"Wall" (#"W")) + (#"^[W-\\]46]" #"Zebra" (#"Z")) + (#"^[W-\\]46]" #"Xylophone " (#"X")) + (#"^[W-\\]46]" #"42" (#"4")) + (#"^[W-\\]46]" #"[abcd] " (#"[")) + (#"^[W-\\]46]" #"]abcd[" (#"]")) + (#"^[W-\\]46]" #"\\\\backslash " (#"\\")) + (#"^[W-\\]46]" #"-46]789" #f) + (#"^[W-\\]46]" #"well" #f) + (#"\\d\\d\\/\\d\\d\\/\\d\\d\\d\\d" #"01/01/2000" (#"01/01/2000")) + (#"word (?:[a-zA-Z0-9]+ ){0,10}otherword" #"rd cat dog elephant mussel cow horse canary baboon snake shark otherword" #f) + (#"word (?:[a-zA-Z0-9]+ ){0,10}otherword" #"rd cat dog elephant mussel cow horse canary baboon snake shark" #f) + (#"word (?:[a-zA-Z0-9]+ ){0,300}otherword" #"rd 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" #f) + (#"^(a){0,0}" #"bcd" (#"" #f)) + (#"^(a){0,0}" #"abc" (#"" #f)) + (#"^(a){0,0}" #"aab " (#"" #f)) + (#"^(a){0,1}" #"bcd" (#"" #f)) + (#"^(a){0,1}" #"abc" (#"a" #"a")) + (#"^(a){0,1}" #"aab " (#"a" #"a")) + (#"^(a){0,2}" #"bcd" (#"" #f)) + (#"^(a){0,2}" #"abc" (#"a" #"a")) + (#"^(a){0,2}" #"aab " (#"aa" #"a")) + (#"^(a){0,3}" #"bcd" (#"" #f)) + (#"^(a){0,3}" #"abc" (#"a" #"a")) + (#"^(a){0,3}" #"aab" (#"aa" #"a")) + (#"^(a){0,3}" #"aaa " (#"aaa" #"a")) + (#"^(a){0,}" #"bcd" (#"" #f)) + (#"^(a){0,}" #"abc" (#"a" #"a")) + (#"^(a){0,}" #"aab" (#"aa" #"a")) + (#"^(a){0,}" #"aaa" (#"aaa" #"a")) + (#"^(a){0,}" #"aaaaaaaa " (#"aaaaaaaa" #"a")) + (#"^(a){1,1}" #"bcd" #f) + (#"^(a){1,1}" #"abc" (#"a" #"a")) + (#"^(a){1,1}" #"aab " (#"a" #"a")) + (#"^(a){1,2}" #"bcd" #f) + (#"^(a){1,2}" #"abc" (#"a" #"a")) + (#"^(a){1,2}" #"aab " (#"aa" #"a")) + (#"^(a){1,3}" #"bcd" #f) + (#"^(a){1,3}" #"abc" (#"a" #"a")) + (#"^(a){1,3}" #"aab" (#"aa" #"a")) + (#"^(a){1,3}" #"aaa " (#"aaa" #"a")) + (#"^(a){1,}" #"bcd" #f) + (#"^(a){1,}" #"abc" (#"a" #"a")) + (#"^(a){1,}" #"aab" (#"aa" #"a")) + (#"^(a){1,}" #"aaa" (#"aaa" #"a")) + (#"^(a){1,}" #"aaaaaaaa " (#"aaaaaaaa" #"a")) + (#"^[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" (#"123456654321")) + (#"^\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d" #"123456654321 " (#"123456654321")) + (#"^[\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d]" #"123456654321" (#"123456654321")) + (#"^[abc]{12}" #"abcabcabcabc" (#"abcabcabcabc")) + (#"^[a-c]{12}" #"abcabcabcabc" (#"abcabcabcabc")) + (#"^(a|b|c){12}" #"abcabcabcabc " (#"abcabcabcabc" #"c")) + (#"^[abcdefghijklmnopqrstuvwxy0123456789]" #"n" (#"n")) + (#"^[abcdefghijklmnopqrstuvwxy0123456789]" #"z " #f) + (#"abcde{0,0}" #"abcd" (#"abcd")) + (#"abcde{0,0}" #"abce " #f) + (#"ab[cd]{0,0}e" #"abe" (#"abe")) + (#"ab[cd]{0,0}e" #"abcde " #f) + (#"ab(c){0,0}d" #"abd" (#"abd" #f)) + (#"ab(c){0,0}d" #"abcd " #f) + (#"a(b*)" #"a" (#"a" #"")) + (#"a(b*)" #"ab" (#"ab" #"b")) + (#"a(b*)" #"abbbb" (#"abbbb" #"bbbb")) + (#"a(b*)" #"bbbbb " #f) + (#"ab\\d{0}e" #"abe" (#"abe")) + (#"ab\\d{0}e" #"ab1e " #f) + (#"\"([^\\\\\"]+|\\\\.)*\"" #"the \\\"quick\\\" brown fox" #f) + (#"\"([^\\\\\"]+|\\\\.)*\"" #"\\\"the \\\\\\\"quick\\\\\\\" brown fox\\\" " #f) + (#"(?i:]{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>)" #"R BGCOLOR='#DBE9E9'>43.Word Processor
(N-1286)
Lega lstaff.comCA - Statewide" #f) + (#"^(b+?|a){1,2}?c" #"bac" (#"bac" #"a")) + (#"^(b+?|a){1,2}?c" #"bbac" (#"bbac" #"a")) + (#"^(b+?|a){1,2}?c" #"bbbac" (#"bbbac" #"a")) + (#"^(b+?|a){1,2}?c" #"bbbbac" (#"bbbbac" #"a")) + (#"^(b+?|a){1,2}?c" #"bbbbbac " (#"bbbbbac" #"a")) + (#"^(b+|a){1,2}?c" #"bac" (#"bac" #"a")) + (#"^(b+|a){1,2}?c" #"bbac" (#"bbac" #"a")) + (#"^(b+|a){1,2}?c" #"bbbac" (#"bbbac" #"a")) + (#"^(b+|a){1,2}?c" #"bbbbac" (#"bbbbac" #"a")) + (#"^(b+|a){1,2}?c" #"bbbbbac " (#"bbbbbac" #"a")) + (#"\x0\\{ab\\}" #"\0{ab}" (#"\0{ab}")) + (#"(A|B)*?CD" #"CD " (#"CD" #f)) + (#"(A|B)*CD" #"CD " (#"CD" #f)) + (#"(AB)*?\\1" #"ABABAB" (#"ABAB" #"AB")) + (#"(AB)*\\1" #"ABABAB" (#"ABABAB" #"AB")) + (#"((a{0,5}){0,5}){0,5}[c]" #"aaaaaaaaaac" (#"aaaaaaaaaac" #"" #"")) + (#"((a{0,5}){0,5}){0,5}[c]" #"aaaaaaaaaa" #f) + #"((a{0,5}){0,5})*[c]" + #"((a{0,5}){0,5})*[c]" + #"(\\b)*a" + (#"(a)*b" #"ab" (#"ab" #"a")) + #"(a|)*b" + #"(a|)*b" + #"(a|)*b" + (#"^(?:(a)|(b))*\\1\\2$" #"abab" (#"abab" #"a" #"b")) + (#"abc[^x]def" #"abcxabcydef" (#"abcydef")) + (#"^(a|\\1x)*$" #"aax" (#"aax" #"ax")) + (#"^(a|\\1x)*$" #"aaxa" (#"aaxa" #"a")) + (#"" #"@{['']}" (#"")) + (#"^(?:(a)|(b))*$" #"ab" (#"ab" #"a" #"b")) + (#"[\0]" #"a" #f) + (#"[\0]" #"\0" (#"\0")) + (#"[\1]" #"a" #f) + (#"[\1]" #"\1" (#"\1")) + (#"\\10()()()()()()()()()()" #"a" #f) + (#"a(?<=)b" #"ab" (#"ab")) ;; << added "=" to pattern + (#"()" #"a" (#"" #"")) + #"[\\x]" + #"[\\x]" + #"((a)*)*" + (#"()a\\1" #"a" (#"a" #"")) + (#"a\\1()" #"a" #f) + (#"a(?i:a)a" #"aaa" (#"aaa")) + (#"a(?i:a)a" #"aAa" (#"aAa")) + (#"a(?i:a)a" #"aAA" #f) + (#"a(?i:a(?-i:a))" #"aaa" (#"aaa")) + (#"a(?i:a(?-i:a))" #"aAa" (#"aAa")) + (#"a(?i:a(?-i:a))" #"aAA" #f) + #"\\x" + #"[a-c-e]" + #"[a-c-e]" + #"[a-c-e]" + #"[a-c-e]" + #"[b-\\d]" + #"[b-\\d]" + #"[b-\\d]" + #"[b-\\d]" + #"[b-\\d]" + #"[\\d-f]" + #"[\\d-f]" + #"[\\d-f]" + #"[\\d-f]" + #"[\\d-f]" + (#"[-b\\d]" #"b" (#"b")) + (#"[-b\\d]" #"c" #f) + (#"[-b\\d]" #"d" #f) + (#"[-b\\d]" #"-" (#"-")) + (#"[-b\\d]" #"1" (#"1")) + (#"[\\df-]" #"d" #f) + (#"[\\df-]" #"e" #f) + (#"[\\df-]" #"f" (#"f")) + (#"[\\df-]" #"-" (#"-")) + (#"[\\df-]" #"1" (#"1")) + (#"[-a-c]" #"-" (#"-")) + (#"[-a-c]" #"a" (#"a")) + (#"[-a-c]" #"b" (#"b")) + (#"[-a-c]" #"d" #f) + (#"[a-c-]" #"-" (#"-")) + (#"[a-c-]" #"a" (#"a")) + (#"[a-c-]" #"b" (#"b")) + (#"[a-c-]" #"d" #f) + (#"[-]" #"a" #f) + (#"[-]" #"-" (#"-")) + (#"[--]" #"a" #f) + (#"[--]" #"-" (#"-")) + #"[---]" + #"[--b]" + (#"[-b-]" #"-" (#"-")) + (#"[-b-]" #"a" #f) + (#"[-b-]" #"c" #f) + #"a{" + (#"a{}" #"aaa" (#"")) + #"a{3" + #"a{3," + #"a{3, 3}" + #"a{3, 3}" + #"a{3, 3}" + #"a{3, 3}" + #"a{3, 3}" + #"a{3, 3}" + #"\\x x" + #"\\x x" + #"\\x 3" + #"\\x 3" + #"\\x 3" + #"\\x 3" + #"^a{ 1}$" + #"^a{ 1}$" + #"^a{ 1}$" + #"{}" + #"{}" + (#"|" #"x" (#"")) + (#"\0000" #"\0000" (#"\0\x30")) + (#"a(?<=)b" #"ab" (#"ab")) + (#"a(?i:b)" #"ab" (#"ab")) + (#"a(?i:b)" #"aB" (#"aB")) + (#"a(?i:b)" #"Ab" #f) + (#"a(?<=a){3000}a" #"" #f) + (#"a(?<=a){3000}a" #"" #f) + (#"a(?<=a){3000}a" #"" #f) + (#"a(?!=a){3000}a" #"" #f) + (#"a(?!=a){3000}a" #"" #f) + (#"a(?!=a){3000}a" #"" #f) + (#"a(){3000}a" #"" #f) + (#"a(){3000}a" #"" #f) + (#"a(){3000}a" #"" #f) + (#"a(?:){3000}a" #"" #f) + (#"a(?:){3000}a" #"" #f) + #"a(?<=a)*a" + #"a(?!=a)*a" + #"a()*a" + #"a(?:)*a" + #"x(?<=a)*a" + #"a(?<=(a))*\\1" + #"a(?<=(a))*?\\1" + #"(?=(a)\\1)*aa" + (#"^((a|b){2,5}){2}$" #"aaabbbbb" (#"aaabbbbb" #"bbb" #"b")) + (#"^(b*|ba){1,2}bc" #"bc" (#"bc" #"")) + (#"^(b*|ba){1,2}bc" #"abc" #f) + (#"^(b*|ba){1,2}bc" #"babc" (#"babc" #"ba")) + (#"^(b*|ba){1,2}bc" #"babbc" (#"babbc" #"b")) + (#"^(b*|ba){1,2}bc" #"bababc" (#"bababc" #"ba")) + (#"^a{4,5}(?:c|a)c$" #"aaac" #f) + (#"^a{4,5}(?:c|a)c$" #"aaaac" #f) + (#"^(a|){4,5}(?:c|a)c$" #"aaac" (#"aaac" #"")) + (#"^(a|){4,5}(?:c|a)c$" #"aaaac" (#"aaaac" #"")) + (#"(?m:^).abc$" #"exabc" #f) + (#"(?m:^)abc" #"c" #f) + (#"^abc" #"c" #f) + (#"(?(\\.\\d\\d[1-9]?))\\d+" #"1.230003938" (#".230003938" #".23")) + (#"(?>(\\.\\d\\d[1-9]?))\\d+" #"1.875000282" (#".875000282" #".875")) + (#"(?>(\\.\\d\\d[1-9]?))\\d+" #"1.235 " #f) + (#"^((?>\\w+)|(?>\\s+))*$" #"now is the time for all good men to come to the aid of the party" (#"now is the time for all good men to come to the aid of the party" #"party")) + (#"^((?>\\w+)|(?>\\s+))*$" #"this is not a line with only words and spaces!" #f) + (#"(\\d+)(\\w)" #"12345a" (#"12345a" #"12345" #"a")) + (#"(\\d+)(\\w)" #"12345+ " (#"12345" #"1234" #"5")) + (#"((?>\\d+))(\\w)" #"12345a" (#"12345a" #"12345" #"a")) + (#"((?>\\d+))(\\w)" #"12345+ " #f) + (#"(?>a+)b" #"aaab" (#"aaab")) + (#"((?>a+)b)" #"aaab" (#"aaab" #"aaab")) + (#"(?>(a+))b" #"aaab" (#"aaab" #"aaa")) + (#"(?>b)+" #"aaabbbccc" (#"bbb")) + (#"(?>a+|b+|c+)*c" #"aaabbbbccccd" (#"aaabbbbc")) + (#"((?>[^()]+)|\\([^()]*\\))+" #"((abc(ade)ufh()()x" (#"abc(ade)ufh()()x" #"x")) + (#"\\(((?>[^()]+)|\\([^()]+\\))+\\)" #"(abc)" (#"(abc)" #"abc")) + (#"\\(((?>[^()]+)|\\([^()]+\\))+\\)" #"(abc(def)xyz)" (#"(abc(def)xyz)" #"xyz")) + (#"\\(((?>[^()]+)|\\([^()]+\\))+\\)" #"((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " #f) + (#"a(?i:b)c" #"abc" (#"abc")) + (#"a(?i:b)c" #"aBc" (#"aBc")) + (#"a(?i:b)c" #"ABC" #f) + (#"a(?i:b)c" #"abC" #f) + (#"a(?i:b)c" #"aBC" #f) + (#"a(?i:b)*c" #"aBc" (#"aBc")) + (#"a(?i:b)*c" #"aBBc" (#"aBBc")) + (#"a(?i:b)*c" #"aBC" #f) + (#"a(?i:b)*c" #"aBBC" #f) + (#"a(?=b(?i:c))\\w\\wd" #"abcd" (#"abcd")) + (#"a(?=b(?i:c))\\w\\wd" #"abCd" (#"abCd")) + (#"a(?=b(?i:c))\\w\\wd" #"aBCd" #f) + (#"a(?=b(?i:c))\\w\\wd" #"abcD " #f) + (#"(?i:(?s-i:more.*than).*million)" #"more than million" (#"more than million")) + (#"(?i:(?s-i:more.*than).*million)" #"more than MILLION" (#"more than MILLION")) + (#"(?i:(?s-i:more.*than).*million)" #"MORE THAN MILLION " #f) + (#"(?i:(?s-i:more.*than).*million)" #"more than million" (#"more than million")) + (#"(?i:(?s-i:more.*than).*million)" #"more than MILLION" (#"more than MILLION")) + (#"(?i:(?s-i:more.*than).*million)" #"MORE THAN MILLION " #f) + (#"(?>a(?i:b+))+c" #"abc" (#"abc")) + (#"(?>a(?i:b+))+c" #"aBbc" (#"aBbc")) + (#"(?>a(?i:b+))+c" #"aBBc " (#"aBBc")) + (#"(?>a(?i:b+))+c" #"Abc" #f) + (#"(?>a(?i:b+))+c" #"abAb " #f) + (#"(?>a(?i:b+))+c" #"abbC " #f) + (#"(?=a(?i:b))\\w\\wc" #"abc" (#"abc")) + (#"(?=a(?i:b))\\w\\wc" #"aBc" (#"aBc")) + (#"(?=a(?i:b))\\w\\wc" #"Ab " #f) + (#"(?=a(?i:b))\\w\\wc" #"abC" #f) + (#"(?=a(?i:b))\\w\\wc" #"aBC " #f) + (#"(?<=a(?i:b))(\\w\\w)c" #"abxxc" (#"xxc" #"xx")) + (#"(?<=a(?i:b))(\\w\\w)c" #"aBxxc" (#"xxc" #"xx")) + (#"(?<=a(?i:b))(\\w\\w)c" #"Abxxc" #f) + (#"(?<=a(?i:b))(\\w\\w)c" #"ABxxc" #f) + (#"(?<=a(?i:b))(\\w\\w)c" #"abxxC " #f) + (#"(?i:(blah))\\s+\\1" #"blah blah" (#"blah blah" #"blah")) + (#"(?i:(blah))\\s+\\1" #"BLAH BLAH" (#"BLAH BLAH" #"BLAH")) + (#"(?i:(blah))\\s+\\1" #"Blah Blah" (#"Blah Blah" #"Blah")) + (#"(?i:(blah))\\s+\\1" #"blaH blaH" (#"blaH blaH" #"blaH")) + (#"(?i:(blah))\\s+\\1" #"blah BLAH" #f) + (#"(?i:(blah))\\s+\\1" #"Blah blah " #f) + (#"(?i:(blah))\\s+\\1" #"blaH blah " #f) + (#"(?i:(blah))\\s+(?i:\\1)" #"blah blah" (#"blah blah" #"blah")) + (#"(?i:(blah))\\s+(?i:\\1)" #"BLAH BLAH" (#"BLAH BLAH" #"BLAH")) + (#"(?i:(blah))\\s+(?i:\\1)" #"Blah Blah" (#"Blah Blah" #"Blah")) + (#"(?i:(blah))\\s+(?i:\\1)" #"blaH blaH" (#"blaH blaH" #"blaH")) + (#"(?i:(blah))\\s+(?i:\\1)" #"blah BLAH" (#"blah BLAH" #"blah")) + (#"(?i:(blah))\\s+(?i:\\1)" #"Blah blah " (#"Blah blah" #"Blah")) + (#"(?i:(blah))\\s+(?i:\\1)" #"blaH blah " (#"blaH blah" #"blaH")) + #"(?>a*)*" + #"(abc|)+" + #"([a]*)*" + #"([ab]*)*" + #"([^a]*)*" + #"([^ab]*)*" + #"([a]*?)*" + #"([ab]*?)*" + #"([^a]*?)*" + #"([^ab]*?)*" + #"([^ab]*?)*" + #"(?>a*)*" + #"(?>a*)*" + #"((?>a*))*" + #"((?>a*?))*" + (#"(?<=(foo))bar\\1" #"foobarfoo" (#"barfoo" #"foo")) + (#"(?<=(foo))bar\\1" #"foobarfootling " (#"barfoo" #"foo")) + (#"(?<=(foo))bar\\1" #"foobar" #f) + (#"(?<=(foo))bar\\1" #"barfoo " #f) + (#"(?i:saturday|sunday)" #"saturday" (#"saturday")) + (#"(?i:saturday|sunday)" #"sunday" (#"sunday")) + (#"(?i:saturday|sunday)" #"Saturday" (#"Saturday")) + (#"(?i:saturday|sunday)" #"Sunday" (#"Sunday")) + (#"(?i:saturday|sunday)" #"SATURDAY" (#"SATURDAY")) + (#"(?i:saturday|sunday)" #"SUNDAY" (#"SUNDAY")) + (#"(?i:saturday|sunday)" #"SunDay" (#"SunDay")) + (#"(a(?i:bc)|(?i:BB))x" #"abcx" (#"abcx" #"abc")) + (#"(a(?i:bc)|(?i:BB))x" #"aBCx" (#"aBCx" #"aBC")) + (#"(a(?i:bc)|(?i:BB))x" #"bbx" (#"bbx" #"bb")) + (#"(a(?i:bc)|(?i:BB))x" #"BBx" (#"BBx" #"BB")) + (#"(a(?i:bc)|(?i:BB))x" #"abcX" #f) + (#"(a(?i:bc)|(?i:BB))x" #"aBCX" #f) + (#"(a(?i:bc)|(?i:BB))x" #"bbX" #f) + (#"(a(?i:bc)|(?i:BB))x" #"BBX" #f) + (#"^([ab](?i:[cd])|(?i:[ef]))" #"ac" (#"ac" #"ac")) + (#"^([ab](?i:[cd])|(?i:[ef]))" #"aC" (#"aC" #"aC")) + (#"^([ab](?i:[cd])|(?i:[ef]))" #"bD" (#"bD" #"bD")) + (#"^([ab](?i:[cd])|(?i:[ef]))" #"elephant" (#"e" #"e")) + (#"^([ab](?i:[cd])|(?i:[ef]))" #"Europe " (#"E" #"E")) + (#"^([ab](?i:[cd])|(?i:[ef]))" #"frog" (#"f" #"f")) + (#"^([ab](?i:[cd])|(?i:[ef]))" #"France" (#"F" #"F")) + (#"^([ab](?i:[cd])|(?i:[ef]))" #"Africa " #f) + (#"^(ab|a(?i:[b-c](?m-i:d))|(?m-i:x(?i:y))|(?i:z))" #"ab" (#"ab" #"ab")) + (#"^(ab|a(?i:[b-c](?m-i:d))|(?m-i:x(?i:y))|(?i:z))" #"aBd" (#"aBd" #"aBd")) + (#"^(ab|a(?i:[b-c](?m-i:d))|(?m-i:x(?i:y))|(?i:z))" #"xy" (#"xy" #"xy")) + (#"^(ab|a(?i:[b-c](?m-i:d))|(?m-i:x(?i:y))|(?i:z))" #"xY" (#"xY" #"xY")) + (#"^(ab|a(?i:[b-c](?m-i:d))|(?m-i:x(?i:y))|(?i:z))" #"zebra" (#"z" #"z")) + (#"^(ab|a(?i:[b-c](?m-i:d))|(?m-i:x(?i:y))|(?i:z))" #"Zambesi" (#"Z" #"Z")) + (#"^(ab|a(?i:[b-c](?m-i:d))|(?m-i:x(?i:y))|(?i:z))" #"aCD " #f) + (#"^(ab|a(?i:[b-c](?m-i:d))|(?m-i:x(?i:y))|(?i:z))" #"XY " #f) + (#"(?<=(?]&" #"<&OUT" (#"<&")) + (#"^(a\\1?){4}$" #"aaaaaaaaaa" (#"aaaaaaaaaa" #"aaaa")) + (#"^(a\\1?){4}$" #"AB" #f) + (#"^(a\\1?){4}$" #"aaaaaaaaa" #f) + (#"^(a\\1?){4}$" #"aaaaaaaaaaa" #f) + (#"(?:(f)(o)(o)|(b)(a)(r))*" #"foobar" (#"foobar" #"f" #"o" #"o" #"b" #"a" #"r")) + (#"(?<=a)b" #"ab" (#"b")) + (#"(?<=a)b" #"cb" #f) + (#"(?<=a)b" #"b" #f) + (#"(?a+)b" #"aaab" (#"aaab")) + (#"([[:]+)" #"a:[b]:" (#":[" #":[")) + (#"([[=]+)" #"a=[b]=" (#"=[" #"=[")) + (#"([[.]+)" #"a.[b]." (#".[" #".[")) + (#"((?>a+)b)" #"aaab" (#"aaab" #"aaab")) + (#"(?>(a+))b" #"aaab" (#"aaab" #"aaa")) + (#"((?>[^()]+)|\\([^()]*\\))+" #"((abc(ade)ufh()()x" (#"abc(ade)ufh()()x" #"x")) + (#"(?>.*)(?<=(abcd|wxyz))" #"alphabetabcd" (#"alphabetabcd" #"abcd")) + (#"(?>.*)(?<=(abcd|wxyz))" #"endingwxyz" (#"endingwxyz" #"wxyz")) + (#"(?>.*)(?<=(abcd|wxyz))" #"a rather long string that doesn't end with one of them" #f) + (#"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 otherword")) + (#"word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword" #"word cat dog elephant mussel cow horse canary baboon snake shark" #f) + (#"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" #f) + (#"(?<=\\d{3}(?!999))foo" #"999foo" (#"foo")) + (#"(?<=\\d{3}(?!999))foo" #"123999foo " (#"foo")) + (#"(?<=\\d{3}(?!999))foo" #"123abcfoo" #f) + (#"(?<=(?!...999)\\d{3})foo" #"999foo" (#"foo")) + (#"(?<=(?!...999)\\d{3})foo" #"123999foo " (#"foo")) + (#"(?<=(?!...999)\\d{3})foo" #"123abcfoo" #f) + (#"(?<=\\d{3}(?!999)...)foo" #"123abcfoo" (#"foo")) + (#"(?<=\\d{3}(?!999)...)foo" #"123456foo " (#"foo")) + (#"(?<=\\d{3}(?!999)...)foo" #"123999foo " #f) + (#"(?<=\\d{3}...)(?Z)+|A)*" #"ZABCDEFG" (#"ZA" #"A")) + #"((?>)+|A)*" + #"^[a-\\d]" + #"^[\\d-a]" + (#"(?<=abc).*(?=def)" #"abcdef" (#"")) + (#"(?<=abc).*(?=def)" #"abcxdef" (#"x")) + (#"(?<=abc).*(?=def)" #"abcxdefxdef" (#"xdefx")) + (#"(?<=abc).*?(?=def)" #"abcdef" (#"")) + (#"(?<=abc).*?(?=def)" #"abcxdef" (#"x")) + (#"(?<=abc).*?(?=def)" #"abcxdefxdef" (#"x")) + (#"(?<=abc).+(?=def)" #"abcdef" #f) + (#"(?<=abc).+(?=def)" #"abcxdef" (#"x")) + (#"(?<=abc).+(?=def)" #"abcxdefxdef" (#"xdefx")) + (#"(?<=abc).+?(?=def)" #"abcdef" #f) + (#"(?<=abc).+?(?=def)" #"abcxdef" (#"x")) + (#"(?<=abc).+?(?=def)" #"abcxdefxdef" (#"x")) + (#"(?<=\\b)(.*)" #"-abcdef" (#"abcdef" #"abcdef")) + (#"(?<=\\b)(.*)" #"abcdef" (#"abcdef" #"abcdef")) + (#"(?<=\\B)(.*)" #"-abcdef" (#"-abcdef" #"-abcdef")) + (#"(?<=\\B)(.*)" #"abcdef" (#"bcdef" #"bcdef")) + (#"^'[ab]'" #"'a'" (#"'a'")) + (#"^'[ab]'" #"'b'" (#"'b'")) + (#"^'[ab]'" #"x'a'" #f) + (#"^'[ab]'" #"'a'x" (#"'a'")) + (#"^'[ab]'" #"'ab'" #f) + (#"^'[ab]'$" #"'a'" (#"'a'")) + (#"^'[ab]'$" #"'b'" (#"'b'")) + (#"^'[ab]'$" #"x'a'" #f) + (#"^'[ab]'$" #"'a'x" #f) + (#"^'[ab]'$" #"'ab'" #f) + (#"'[ab]'$" #"'a'" (#"'a'")) + (#"'[ab]'$" #"'b'" (#"'b'")) + (#"'[ab]'$" #"x'a'" (#"'a'")) + (#"'[ab]'$" #"'a'x" #f) + (#"'[ab]'$" #"'ab'" #f) + (#"'[ab]'" #"'a'" (#"'a'")) + (#"'[ab]'" #"'b'" (#"'b'")) + (#"'[ab]'" #"x'a'" (#"'a'")) + (#"'[ab]'" #"'a'x" (#"'a'")) + (#"'[ab]'" #"'ab'" #f) + (#"ab(?=.*q)cd" #"abcdxklqj" (#"abcd")) + (#"a(?!.*$)b" #"ab" #f) + (#".{2}[a-z]" #"Axi" (#"Axi")))) + +;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(report-errs)