1712 lines
81 KiB
Scheme
1712 lines
81 KiB
Scheme
|
|
(load-relative "loadtest.ss")
|
|
|
|
(Section 'rx)
|
|
|
|
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
(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")
|
|
|
|
;; Make sure we hit all types of ranges, with and without regstart:
|
|
;; EXACT1:
|
|
(test-regexp-x '(#"a") #"a" #"a")
|
|
(test-regexp-x #f #"a" #"b")
|
|
(test-regexp '(#"aaa") #"a*" #"aaa")
|
|
(test-regexp-x '(#"") #"a*" #"bbb")
|
|
(test-regexp-x '(#"a") #"q?a" #"a")
|
|
(test-regexp-x #f #"q?a" #"b")
|
|
;; RANGE:
|
|
(test-regexp-x '(#"a") #"[a-b]" #"a")
|
|
(test-regexp-x '(#"b") #"[a-b]" #"b")
|
|
(test-regexp-x #f #"[a-b]" #"c")
|
|
(test-regexp '(#"aba") #"[a-b]*" #"abac")
|
|
(test-regexp-x '(#"") #"[a-b]*" #"cbbb")
|
|
(test-regexp-x '(#"a") #"q?[a-b]" #"a")
|
|
(test-regexp-x '(#"b") #"q?[a-b]" #"b")
|
|
(test-regexp-x #f #"q?[a-b]" #"c")
|
|
;; NOTRANGE:
|
|
(test-regexp '(#"a") #"[^c-d]" #"a")
|
|
(test-regexp '(#"b") #"[^c-d]" #"b")
|
|
(test-regexp #f #"[^c-d]" #"c")
|
|
(test-regexp '(#"aba") #"[^c-d]*" #"abac")
|
|
(test-regexp '(#"") #"[^c-d]*" #"cbbb")
|
|
(test-regexp '(#"a") #"q?[^c-d]" #"a")
|
|
(test-regexp '(#"b") #"q?[^c-d]" #"b")
|
|
(test-regexp #f #"q?[^c-d]" #"c")
|
|
;; ANYOF:
|
|
(test-regexp '(#"a") #"[ad]" #"a")
|
|
(test-regexp '(#"d") #"[ad]" #"d")
|
|
(test-regexp #f #"[ad]" #"c")
|
|
(test-regexp '(#"ada") #"[ad]*" #"adac")
|
|
(test-regexp '(#"") #"[ad]*" #"cddd")
|
|
(test-regexp '(#"a") #"q?[ad]" #"a")
|
|
(test-regexp '(#"d") #"q?[ad]" #"d")
|
|
(test-regexp #f #"q?[ad]" #"c")
|
|
|
|
(test '(#"a") regexp-match #rx#"^[^\0]" #"aaa\0")
|
|
(test #f regexp-match #rx#"^[^\0]" #"\0aaa\0")
|
|
(test '(#"aaa") regexp-match #rx#"^[^\0]*" #"aaa\0")
|
|
|
|
(map (lambda (t)
|
|
(err/rt-test (byte-pregexp t))
|
|
(err/rt-test (pregexp t)))
|
|
'(#")"
|
|
#"*"
|
|
#"?"
|
|
#"+"))
|
|
|
|
(map (lambda (as-string?)
|
|
(map (lambda (p)
|
|
(let ([name (car p)]
|
|
[predicate (cdr p)]
|
|
[mk (lambda (name extra not? star?)
|
|
((if as-string? pregexp byte-pregexp)
|
|
((if as-string? values string->bytes/latin-1)
|
|
(format "[~a~a[:~a:]]~a"
|
|
(if not? "^" "")
|
|
(if extra extra "")
|
|
name
|
|
(if star? "*" "")))))]
|
|
[-bytes (if as-string?
|
|
(lambda l
|
|
(bytes->string/latin-1 (apply bytes l)))
|
|
bytes)])
|
|
(let ([try
|
|
(lambda (extra)
|
|
(let ([b (mk name extra #f #f)]
|
|
[not-b (mk name extra #t #f)]
|
|
[b* (mk name extra #f #t)]
|
|
[not-b* (mk name extra #t #t)])
|
|
(let loop ([c 0])
|
|
(unless (= c 128)
|
|
(let ([in? (or (and extra
|
|
(= c (char->integer extra)))
|
|
(predicate (integer->char c)))])
|
|
(test (if in? (list (-bytes c)) #f)
|
|
regexp-match
|
|
b
|
|
(-bytes c))
|
|
(test (if in? (list (-bytes c c)) (list (-bytes)))
|
|
regexp-match
|
|
b*
|
|
(-bytes c c))
|
|
(test (if in? #f (list (-bytes c)))
|
|
regexp-match
|
|
not-b
|
|
(-bytes c))
|
|
(test (if in? (list (-bytes)) (list (-bytes c c)))
|
|
regexp-match
|
|
not-b*
|
|
(-bytes c c))
|
|
(loop (add1 c)))))
|
|
(test #f regexp-match b (-bytes 128))
|
|
(test (list (-bytes)) regexp-match b* (-bytes 128 128))
|
|
(test (list (-bytes 128)) regexp-match not-b (-bytes 128))
|
|
(test (list (-bytes 128 128)) regexp-match not-b* (-bytes 128 128))))])
|
|
(try #f)
|
|
(try #\377)
|
|
(unless (predicate #\x)
|
|
(try #\x))
|
|
(unless (predicate #\space)
|
|
(try #\space))
|
|
(unless (predicate #\000)
|
|
(try #\000))
|
|
(unless (predicate #\002)
|
|
(try #\002)))))
|
|
(list
|
|
(cons "alpha" char-alphabetic?)
|
|
(cons "alnum" (lambda (x)
|
|
(or (char-alphabetic? x)
|
|
(char-numeric? x))))
|
|
)))
|
|
'(#f #t))
|
|
|
|
(test '("app\u039Be") regexp-match #px"(?i:app\u039Be)" "app\u039Be")
|
|
(test '("app\u039Be") regexp-match #px"(?i:app\u03BBe)" "app\u039Be")
|
|
(test #f regexp-match #px"app\u03BBe" "app\u039Be")
|
|
(test #f regexp-match #px"(?i:(?-i:app\u03BBe))" "app\u039Be")
|
|
(test '("app\u039Be") regexp-match #px"(?i:(?-i:app)\u03BBe)" "app\u039Be")
|
|
(test '("app\u03BBe") regexp-match #px"(?i:app\u039Be)" "app\u03BBe")
|
|
(test '("app\u03BBe") regexp-match #px"(?i:app[\u039B-\u039C]e)" "app\u03BBe")
|
|
(test '("app\u039Be") regexp-match #px"(?i:app[\u03BB-\u03BC]e)" "app\u039Be")
|
|
|
|
(let ([sigmas '(#\u03A3 #\u03C2 #\u03C3)]
|
|
[lambdas '(#\u039B #\u039B #\u03BB)])
|
|
(for-each (lambda (s1)
|
|
(for-each
|
|
(lambda (s2 l2)
|
|
(let* ([r (list (format "_~a_" s1))]
|
|
[gen-sigma? (or (equal? s2 #\u03C2)
|
|
(not (equal? s1 #\u03C2)))]
|
|
[gr (and gen-sigma? r)])
|
|
(if (equal? s1 s2)
|
|
(test r regexp-match (format "_~a_" s2) (format "_~a_" s1))
|
|
(test #f regexp-match (format "_~a_" s2) (format "_~a_" s1)))
|
|
(test gr regexp-match (format "(?i:_~a_)" s2) (format "_~a_" s1))
|
|
(test gr regexp-match (format "(?i:_[~a]_)" s2) (format "_~a_" s1))
|
|
(test (and (not (equal? s1 s2)) r) regexp-match (format "_[^~a]_" s2) (format "_~a_" s1))
|
|
(test (and (equal? s1 #\u03C2) (not (equal? s2 #\u03C2)) r)
|
|
regexp-match (format "(?i:_[^~a]_)" s2) (format "_~a_" s1))
|
|
(test gr regexp-match (format "(?i:_[x~a]_)" s2) (format "_~a_" s1))
|
|
(test gr regexp-match (format "(?i:_[~a\x1888]_)" s2) (format "_~a_" s1))
|
|
(test gr regexp-match (format "(?i:_[~a-~a]_)" s2 s2) (format "_~a_" s1))
|
|
(test r regexp-match (format "_[~a-~a]_" (car sigmas) (caddr sigmas)) (format "_~a_" s1))
|
|
(test (and (char<=? (car sigmas) s1 s2) r)
|
|
regexp-match (format "_[~a-~a]_" (car sigmas) s2) (format "_~a_" s1))
|
|
(test (and (char<=? s2 s1 (caddr sigmas)) r)
|
|
regexp-match (format "_[~a-~a]_" s2 (caddr sigmas)) (format "_~a_" s1))
|
|
(test (and (or gen-sigma? (equal? s2 #\u03C3)) r)
|
|
regexp-match (format "(?i:_[~a-~a]_)" (car sigmas) s2) (format "_~a_" s1))
|
|
(test (and (or gen-sigma? (equal? s2 #\u03A3)) r)
|
|
regexp-match (format "(?i:_[~a-~a]_)" s2 (caddr sigmas)) (format "_~a_" s1))
|
|
(test (and (or gen-sigma? (equal? s2 #\u03C3)) r)
|
|
regexp-match (format "(?i:_[~a-~a]_)" l2 s2) (format "_~a_" s1))))
|
|
sigmas lambdas))
|
|
sigmas))
|
|
|
|
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;; 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)
|
|
(begin
|
|
(test (caddr t) regexp-match (byte-pregexp (car t)) (cadr t))
|
|
(test (caddr t) regexp-match (byte-pregexp (car t)) (bytes-append #"xxxxxxxxxx" (cadr t)) 10)
|
|
(test (caddr t) regexp-match (byte-pregexp (car t)) (bytes-append (cadr t) #"xxxxxxxxxx") 0 (bytes-length (cadr t)))
|
|
(test (caddr t) regexp-match (byte-pregexp (car t)) (open-input-bytes (cadr t)))
|
|
(test (and (caddr t)
|
|
(map (lambda (v)
|
|
(and v (bytes->string/latin-1 v)))
|
|
(caddr t)))
|
|
regexp-match
|
|
(pregexp (bytes->string/latin-1 (car t)))
|
|
(bytes->string/latin-1 (cadr t)))
|
|
(test (and (caddr t)
|
|
(map (lambda (v)
|
|
(and v (string->bytes/utf-8 (bytes->string/latin-1 v))))
|
|
(caddr t)))
|
|
regexp-match
|
|
(pregexp (bytes->string/latin-1 (car t)))
|
|
(open-input-string (bytes->string/latin-1 (cadr t)))))
|
|
(begin
|
|
(err/rt-test (byte-pregexp t))
|
|
(err/rt-test (pregexp (bytes->string/latin-1 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"
|
|
(#"^[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" (#"\201"))
|
|
(#"^\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"
|
|
#"^(a|)\\1{2,3}b"
|
|
(#"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:<tr([\\w\\W\\s\\d][^<>]{0,})><TD([\\w\\W\\s\\d][^<>]{0,})>([\\d]{0,}\\.)(.*)((<BR>([\\w\\W\\s\\d][^<>]{0,})|[\\s]{0,}))<\\/a><\\/TD><TD([\\w\\W\\s\\d][^<>]{0,})>([\\w\\W\\s\\d][^<>]{0,})<\\/TD><TD([\\w\\W\\s\\d][^<>]{0,})>([\\w\\W\\s\\d][^<>]{0,})<\\/TD><\\/TR>)" #"R BGCOLOR='#DBE9E9'><TD align=left valign=top>43.<a href='joblist.cfm?JobID=94 6735&Keyword='>Word Processor<BR>(N-1286)</a></TD><TD align=left valign=top>Lega lstaff.com</TD><TD align=left valign=top>CA - Statewide</TD></TR>" #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]"
|
|
#"((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
|
|
(#"(?<=qq)b*" #"aqbbbqqbb" (#"bb")) ;; << added
|
|
(#"(?<=q?q)b*" #"aqbbbqqbb" (#"bbb")) ;; << added
|
|
(#"()" #"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" (#""))
|
|
(#"|x" #"x" (#""))
|
|
(#"x|" #"x" (#"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"
|
|
#"a(){3000}a"
|
|
#"a(?:){3000}a"
|
|
#"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"
|
|
(#"^a{4,5}(?:c|a)c$" #"aaac" #f)
|
|
(#"^a{4,5}(?:c|a)c$" #"aaaac" #f)
|
|
#"^(a|){4,5}(?:c|a)c$"
|
|
(#"(?m:^).abc$" #"exabc" #f)
|
|
(#"(?m:^)abc" #"c" #f)
|
|
(#"^abc" #"c" #f)
|
|
(#"(?<!bar)foo" #"foo" (#"foo"))
|
|
(#"(?<!bar)foo" #"catfood" (#"foo"))
|
|
(#"(?<!bar)foo" #"arfootle" (#"foo"))
|
|
(#"(?<!bar)foo" #"rfoosh" (#"foo"))
|
|
(#"(?<!bar)foo" #"barfoo" #f)
|
|
(#"(?<!bar)foo" #"towbarfoo" #f)
|
|
(#"\\w{3}(?<!bar)foo" #"catfood" (#"catfoo"))
|
|
(#"\\w{3}(?<!bar)foo" #"foo" #f)
|
|
(#"\\w{3}(?<!bar)foo" #"barfoo" #f)
|
|
(#"\\w{3}(?<!bar)foo" #"towbarfoo" #f)
|
|
(#"(?<=(foo)a)bar" #"fooabar" (#"bar" #"foo"))
|
|
(#"(?<=(foo)a)bar" #"bar" #f)
|
|
(#"(?<=(foo)a)bar" #"foobbar" #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)
|
|
(#"(?<=(?<!foo)bar)baz" #"barbaz" (#"baz"))
|
|
(#"(?<=(?<!foo)bar)baz" #"barbarbaz " (#"baz"))
|
|
(#"(?<=(?<!foo)bar)baz" #"koobarbaz " (#"baz"))
|
|
(#"(?<=(?<!foo)bar)baz" #"baz" #f)
|
|
(#"(?<=(?<!foo)bar)baz" #"foobarbaz " #f)
|
|
(#"^(a\\1?){4}$" #"a" #f)
|
|
(#"^(a\\1?){4}$" #"aa" #f)
|
|
(#"^(a\\1?){4}$" #"aaa" #f)
|
|
(#"^(a\\1?){4}$" #"aaaa" (#"aaaa" #"a"))
|
|
(#"^(a\\1?){4}$" #"aaaaa" (#"aaaaa" #"a"))
|
|
(#"^(a\\1?){4}$" #"aaaaaa" (#"aaaaaa" #"aa"))
|
|
(#"^(a\\1?){4}$" #"aaaaaaa" (#"aaaaaaa" #"a"))
|
|
(#"^(a\\1?){4}$" #"aaaaaaaa" #f)
|
|
(#"^(a\\1?){4}$" #"aaaaaaaaa" #f)
|
|
(#"^(a\\1?){4}$" #"aaaaaaaaaa" (#"aaaaaaaaaa" #"aaaa"))
|
|
(#"^(a\\1?){4}$" #"aaaaaaaaaaa" #f)
|
|
(#"^(a\\1?){4}$" #"aaaaaaaaaaaa" #f)
|
|
(#"^(a\\1?){4}$" #"aaaaaaaaaaaaa" #f)
|
|
(#"^(a\\1?){4}$" #"aaaaaaaaaaaaaa" #f)
|
|
(#"^(a\\1?){4}$" #"aaaaaaaaaaaaaaa" #f)
|
|
(#"^(a\\1?){4}$" #"aaaaaaaaaaaaaaaa " #f)
|
|
(#"^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$" #"a" #f)
|
|
(#"^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$" #"aa" #f)
|
|
(#"^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$" #"aaa" #f)
|
|
(#"^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$" #"aaaa" (#"aaaa" #"a" #"a" #"a" #"a"))
|
|
(#"^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$" #"aaaaa" (#"aaaaa" #"a" #"aa" #"a" #"a"))
|
|
(#"^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$" #"aaaaaa" (#"aaaaaa" #"a" #"aa" #"a" #"aa"))
|
|
(#"^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$" #"aaaaaaa" (#"aaaaaaa" #"a" #"aa" #"aaa" #"a"))
|
|
(#"^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$" #"aaaaaaaa" #f)
|
|
(#"^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$" #"aaaaaaaaa" #f)
|
|
(#"^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$" #"aaaaaaaaaa" (#"aaaaaaaaaa" #"a" #"aa" #"aaa" #"aaaa"))
|
|
(#"^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$" #"aaaaaaaaaaa" #f)
|
|
(#"^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$" #"aaaaaaaaaaaa" #f)
|
|
(#"^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$" #"aaaaaaaaaaaaa" #f)
|
|
(#"^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$" #"aaaaaaaaaaaaaa" #f)
|
|
(#"^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$" #"aaaaaaaaaaaaaaa" #f)
|
|
(#"^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$" #"aaaaaaaaaaaaaaaa " #f)
|
|
(#"abc" #"abc" (#"abc"))
|
|
(#"abc" #"xabcy" (#"abc"))
|
|
(#"abc" #"ababc" (#"abc"))
|
|
(#"abc" #"xbc" #f)
|
|
(#"abc" #"axc" #f)
|
|
(#"abc" #"abx" #f)
|
|
(#"ab*c" #"abc" (#"abc"))
|
|
(#"ab*bc" #"abc" (#"abc"))
|
|
(#"ab*bc" #"abbc" (#"abbc"))
|
|
(#"ab*bc" #"abbbbc" (#"abbbbc"))
|
|
(#".{1}" #"abbbbc" (#"a"))
|
|
(#".{3,4}" #"abbbbc" (#"abbb"))
|
|
(#"ab{0,}bc" #"abbbbc" (#"abbbbc"))
|
|
(#"ab+bc" #"abbc" (#"abbc"))
|
|
(#"ab+bc" #"abc" #f)
|
|
(#"ab+bc" #"abq" #f)
|
|
(#"ab+bc" #"abbbbc" (#"abbbbc"))
|
|
(#"ab{1,}bc" #"abbbbc" (#"abbbbc"))
|
|
(#"ab{1,3}bc" #"abbbbc" (#"abbbbc"))
|
|
(#"ab{3,4}bc" #"abbbbc" (#"abbbbc"))
|
|
(#"ab{4,5}bc" #"abq" #f)
|
|
(#"ab{4,5}bc" #"abbbbc" #f)
|
|
(#"ab?bc" #"abbc" (#"abbc"))
|
|
(#"ab?bc" #"abc" (#"abc"))
|
|
(#"ab{0,1}bc" #"abc" (#"abc"))
|
|
(#"ab?c" #"abc" (#"abc"))
|
|
(#"ab{0,1}c" #"abc" (#"abc"))
|
|
(#"^abc$" #"abc" (#"abc"))
|
|
(#"^abc$" #"abbbbc" #f)
|
|
(#"^abc$" #"abcc" #f)
|
|
(#"^abc" #"abcc" (#"abc"))
|
|
(#"abc$" #"aabc" (#"abc"))
|
|
(#"abc$" #"aabc" (#"abc"))
|
|
(#"abc$" #"aabcd" #f)
|
|
(#"^" #"abc" (#""))
|
|
(#"$" #"abc" (#""))
|
|
(#"a.c" #"abc" (#"abc"))
|
|
(#"a.c" #"axc" (#"axc"))
|
|
(#"a.*c" #"axyzc" (#"axyzc"))
|
|
(#"a[bc]d" #"abd" (#"abd"))
|
|
(#"a[bc]d" #"axyzd" #f)
|
|
(#"a[bc]d" #"abc" #f)
|
|
(#"a[b-d]e" #"ace" (#"ace"))
|
|
(#"a[b-d]" #"aac" (#"ac"))
|
|
(#"a[-b]" #"a-" (#"a-"))
|
|
(#"a[b-]" #"a-" (#"a-"))
|
|
#"a]"
|
|
(#"a[]]" #"a]" (#"a]"))
|
|
(#"a[]]b" #"a]b" (#"a]b"))
|
|
(#"a[^bc]d" #"aed" (#"aed"))
|
|
(#"a[^bc]d" #"abd" #f)
|
|
(#"a[^bc]d" #"abd" #f)
|
|
(#"a[^-b]c" #"adc" (#"adc"))
|
|
(#"a[^]b]c" #"adc" (#"adc"))
|
|
(#"a[^]b]c" #"a-c" (#"a-c"))
|
|
(#"a[^]b]c" #"a]c" #f)
|
|
(#"\\ba\\b" #"a-" (#"a"))
|
|
(#"\\ba\\b" #"-a" (#"a"))
|
|
(#"\\ba\\b" #"-a-" (#"a"))
|
|
(#"\\by\\b" #"xy" #f)
|
|
(#"\\by\\b" #"yz" #f)
|
|
(#"\\by\\b" #"xyz" #f)
|
|
(#"\\Ba\\B" #"a-" #f)
|
|
(#"\\Ba\\B" #"-a" #f)
|
|
(#"\\Ba\\B" #"-a-" #f)
|
|
(#"\\By\\b" #"xy" (#"y"))
|
|
(#"\\by\\B" #"yz" (#"y"))
|
|
(#"\\By\\B" #"xyz" (#"y"))
|
|
(#"\\w" #"a" (#"a"))
|
|
(#"\\W" #"-" (#"-"))
|
|
(#"\\W" #"-" (#"-"))
|
|
(#"\\W" #"a" #f)
|
|
(#"a\\sb" #"a b" (#"a b"))
|
|
(#"a\\Sb" #"a-b" (#"a-b"))
|
|
(#"a\\Sb" #"a-b" (#"a-b"))
|
|
(#"a\\Sb" #"a b" #f)
|
|
(#"\\d" #"1" (#"1"))
|
|
(#"\\D" #"-" (#"-"))
|
|
(#"\\D" #"-" (#"-"))
|
|
(#"\\D" #"1" #f)
|
|
(#"[\\w]" #"a" (#"a"))
|
|
(#"[\\W]" #"-" (#"-"))
|
|
(#"[\\W]" #"-" (#"-"))
|
|
(#"[\\W]" #"a" #f)
|
|
(#"a[\\s]b" #"a b" (#"a b"))
|
|
(#"a[\\S]b" #"a-b" (#"a-b"))
|
|
(#"a[\\S]b" #"a-b" (#"a-b"))
|
|
(#"a[\\S]b" #"a b" #f)
|
|
(#"[\\d]" #"1" (#"1"))
|
|
(#"[\\D]" #"-" (#"-"))
|
|
(#"[\\D]" #"-" (#"-"))
|
|
(#"[\\D]" #"1" #f)
|
|
(#"ab|cd" #"abc" (#"ab"))
|
|
(#"ab|cd" #"abcd" (#"ab"))
|
|
(#"()ef" #"def" (#"ef" #""))
|
|
(#"a\\(b" #"a(b" (#"a(b"))
|
|
(#"a\\(*b" #"ab" (#"ab"))
|
|
(#"a\\(*b" #"a((b" (#"a((b"))
|
|
(#"a\\\\b" #"a\\b" (#"a\\b"))
|
|
(#"((a))" #"abc" (#"a" #"a" #"a"))
|
|
(#"(a)b(c)" #"abc" (#"abc" #"a" #"c"))
|
|
(#"a+b+c" #"aabbabc" (#"abc"))
|
|
(#"a{1,}b{1,}c" #"aabbabc" (#"abc"))
|
|
(#"a.+?c" #"abcabc" (#"abc"))
|
|
(#"(a+|b)*" #"ab" (#"ab" #"b"))
|
|
(#"(a+|b){0,}" #"ab" (#"ab" #"b"))
|
|
(#"(a+|b)+" #"ab" (#"ab" #"b"))
|
|
(#"(a+|b){1,}" #"ab" (#"ab" #"b"))
|
|
(#"(a+|b)?" #"ab" (#"a" #"a"))
|
|
(#"(a+|b){0,1}" #"ab" (#"a" #"a"))
|
|
(#"[^ab]*" #"cde" (#"cde"))
|
|
(#"abc" #"b" #f)
|
|
(#"([abc])*d" #"abbbcd" (#"abbbcd" #"c"))
|
|
(#"([abc])*bcd" #"abcd" (#"abcd" #"a"))
|
|
(#"a|b|c|d|e" #"e" (#"e"))
|
|
(#"(a|b|c|d|e)f" #"ef" (#"ef" #"e"))
|
|
(#"abcd*efg" #"abcdefg" (#"abcdefg"))
|
|
(#"ab*" #"xabyabbbz" (#"ab"))
|
|
(#"ab*" #"xayabbbz" (#"a"))
|
|
(#"(ab|cd)e" #"abcde" (#"cde" #"cd"))
|
|
(#"[abhgefdc]ij" #"hij" (#"hij"))
|
|
(#"(abc|)ef" #"abcdef" (#"ef" #""))
|
|
(#"(a|b)c*d" #"abcd" (#"bcd" #"b"))
|
|
(#"(ab|ab*)bc" #"abc" (#"abc" #"a"))
|
|
(#"a([bc]*)c*" #"abc" (#"abc" #"bc"))
|
|
(#"a([bc]*)(c*d)" #"abcd" (#"abcd" #"bc" #"d"))
|
|
(#"a([bc]+)(c*d)" #"abcd" (#"abcd" #"bc" #"d"))
|
|
(#"a([bc]*)(c+d)" #"abcd" (#"abcd" #"b" #"cd"))
|
|
(#"a[bcd]*dcdcde" #"adcdcde" (#"adcdcde"))
|
|
(#"a[bcd]+dcdcde" #"abcde" #f)
|
|
(#"a[bcd]+dcdcde" #"adcdcde" #f)
|
|
(#"(ab|a)b*c" #"abc" (#"abc" #"ab"))
|
|
(#"((a)(b)c)(d)" #"abcd" (#"abcd" #"abc" #"a" #"b" #"d"))
|
|
(#"[a-zA-Z_][a-zA-Z0-9_]*" #"alpha" (#"alpha"))
|
|
(#"^a(bc+|b[eh])g|.h$" #"abh" (#"bh" #f))
|
|
(#"(bc+d$|ef*g.|h?i(j|k))" #"effgz" (#"effgz" #"effgz" #f))
|
|
(#"(bc+d$|ef*g.|h?i(j|k))" #"ij" (#"ij" #"ij" #"j"))
|
|
(#"(bc+d$|ef*g.|h?i(j|k))" #"reffgz" (#"effgz" #"effgz" #f))
|
|
(#"(bc+d$|ef*g.|h?i(j|k))" #"effg" #f)
|
|
(#"(bc+d$|ef*g.|h?i(j|k))" #"bcdd" #f)
|
|
(#"((((((((((a))))))))))" #"a" (#"a" #"a" #"a" #"a" #"a" #"a" #"a" #"a" #"a" #"a" #"a"))
|
|
(#"((((((((((a))))))))))\\10" #"aa" (#"aa" #"a" #"a" #"a" #"a" #"a" #"a" #"a" #"a" #"a" #"a"))
|
|
(#"(((((((((a)))))))))" #"a" (#"a" #"a" #"a" #"a" #"a" #"a" #"a" #"a" #"a" #"a"))
|
|
(#"multiple words of text" #"aa" #f)
|
|
(#"multiple words of text" #"uh-uh" #f)
|
|
(#"multiple words" #"multiple words, yeah" (#"multiple words"))
|
|
(#"(.*)c(.*)" #"abcde" (#"abcde" #"ab" #"de"))
|
|
(#"\\((.*), (.*)\\)" #"(a, b)" (#"(a, b)" #"a" #"b"))
|
|
(#"abcd" #"abcd" (#"abcd"))
|
|
(#"a(bc)d" #"abcd" (#"abcd" #"bc"))
|
|
(#"a[-]?c" #"ac" (#"ac"))
|
|
(#"(abc)\\1" #"abcabc" (#"abcabc" #"abc"))
|
|
(#"([a-c]*)\\1" #"abcabc" (#"abcabc" #"abc"))
|
|
(#"(a)|\\1" #"a" (#"a" #"a"))
|
|
(#"(a)|\\1" #"ab" (#"a" #"a"))
|
|
(#"(a)|\\1" #"x" #f)
|
|
(#"(([a-c])b*?\\2)*" #"ababbbcbc" (#"ababb" #"bb" #"b"))
|
|
(#"(([a-c])b*?\\2){3}" #"ababbbcbc" (#"ababbbcbc" #"cbc" #"c"))
|
|
(#"((\\3|b)\\2(a)x)+" #"aaaxabaxbaaxbbax" (#"bbax" #"bbax" #"b" #"a"))
|
|
(#"((\\3|b)\\2(a)){2,}" #"bbaababbabaaaaabbaaaabba" (#"bbaaaabba" #"bba" #"b" #"a"))
|
|
(#"(?i:abc)" #"ABC" (#"ABC"))
|
|
(#"(?i:abc)" #"XABCY" (#"ABC"))
|
|
(#"(?i:abc)" #"ABABC" (#"ABC"))
|
|
(#"(?i:abc)" #"aaxabxbaxbbx" #f)
|
|
(#"(?i:abc)" #"XBC" #f)
|
|
(#"(?i:abc)" #"AXC" #f)
|
|
(#"(?i:abc)" #"ABX" #f)
|
|
(#"(?i:ab*c)" #"ABC" (#"ABC"))
|
|
(#"(?i:ab*bc)" #"ABC" (#"ABC"))
|
|
(#"(?i:ab*bc)" #"ABBC" (#"ABBC"))
|
|
(#"(?i:ab*?bc)" #"ABBBBC" (#"ABBBBC"))
|
|
(#"(?i:ab{0,}?bc)" #"ABBBBC" (#"ABBBBC"))
|
|
(#"(?i:ab+?bc)" #"ABBC" (#"ABBC"))
|
|
(#"(?i:ab+bc)" #"ABC" #f)
|
|
(#"(?i:ab+bc)" #"ABQ" #f)
|
|
(#"(?i:ab+bc)" #"ABBBBC" (#"ABBBBC"))
|
|
(#"(?i:ab{1,}?bc)" #"ABBBBC" (#"ABBBBC"))
|
|
(#"(?i:ab{1,3}?bc)" #"ABBBBC" (#"ABBBBC"))
|
|
(#"(?i:ab{3,4}?bc)" #"ABBBBC" (#"ABBBBC"))
|
|
(#"(?i:ab{4,5}?bc)" #"ABQ" #f)
|
|
(#"(?i:ab{4,5}?bc)" #"ABBBBC" #f)
|
|
(#"(?i:ab??bc)" #"ABBC" (#"ABBC"))
|
|
(#"(?i:ab??bc)" #"ABC" (#"ABC"))
|
|
(#"(?i:ab{0,1}?bc)" #"ABC" (#"ABC"))
|
|
(#"(?i:ab??c)" #"ABC" (#"ABC"))
|
|
(#"(?i:ab{0,1}?c)" #"ABC" (#"ABC"))
|
|
(#"(?i:^abc$)" #"ABC" (#"ABC"))
|
|
(#"(?i:^abc$)" #"ABBBBC" #f)
|
|
(#"(?i:^abc$)" #"ABCC" #f)
|
|
(#"(?i:^abc)" #"ABCC" (#"ABC"))
|
|
(#"(?i:abc$)" #"AABC" (#"ABC"))
|
|
(#"(?i:^)" #"ABC" (#""))
|
|
(#"(?i:$)" #"ABC" (#""))
|
|
(#"(?i:a.c)" #"ABC" (#"ABC"))
|
|
(#"(?i:a.c)" #"AXC" (#"AXC"))
|
|
(#"(?i:a.*?c)" #"AXYZC" (#"AXYZC"))
|
|
(#"(?i:a.*c)" #"AABC" (#"AABC"))
|
|
(#"(?i:a.*c)" #"AXYZD" #f)
|
|
(#"(?i:a[bc]d)" #"ABD" (#"ABD"))
|
|
(#"(?i:a[b-d]e)" #"ACE" (#"ACE"))
|
|
(#"(?i:a[b-d]e)" #"ABC" #f)
|
|
(#"(?i:a[b-d]e)" #"ABD" #f)
|
|
(#"(?i:a[b-d])" #"AAC" (#"AC"))
|
|
(#"(?i:a[-b])" #"A-" (#"A-"))
|
|
(#"(?i:a[b-])" #"A-" (#"A-"))
|
|
#"(?i:a])"
|
|
(#"(?i:a[]])" #"A]" (#"A]"))
|
|
(#"(?i:a[]]b)" #"A]B" (#"A]B"))
|
|
(#"(?i:a[^bc]d)" #"AED" (#"AED"))
|
|
(#"(?i:a[^-b]c)" #"ADC" (#"ADC"))
|
|
(#"(?i:a[^-b]c)" #"ABD" #f)
|
|
(#"(?i:a[^-b]c)" #"A-C" #f)
|
|
(#"(?i:a[^]b]c)" #"ADC" (#"ADC"))
|
|
(#"(?i:ab|cd)" #"ABC" (#"AB"))
|
|
(#"(?i:ab|cd)" #"ABCD" (#"AB"))
|
|
(#"(?i:()ef)" #"DEF" (#"EF" #""))
|
|
(#"(?i:$b)" #"A]C" #f)
|
|
(#"(?i:$b)" #"B" #f)
|
|
(#"(?i:a\\(b)" #"A(B" (#"A(B"))
|
|
(#"(?i:a\\(*b)" #"AB" (#"AB"))
|
|
(#"(?i:a\\(*b)" #"A((B" (#"A((B"))
|
|
(#"(?i:a\\\\b)" #"A\\B" (#"A\\B"))
|
|
(#"(?i:((a)))" #"ABC" (#"A" #"A" #"A"))
|
|
(#"(?i:(a)b(c))" #"ABC" (#"ABC" #"A" #"C"))
|
|
(#"(?i:a+b+c)" #"AABBABC" (#"ABC"))
|
|
(#"(?i:a{1,}b{1,}c)" #"AABBABC" (#"ABC"))
|
|
(#"(?i:a.+?c)" #"ABCABC" (#"ABC"))
|
|
(#"(?i:a.*?c)" #"ABCABC" (#"ABC"))
|
|
(#"(?i:a.{0,5}?c)" #"ABCABC" (#"ABC"))
|
|
(#"(?i:(a+|b)*)" #"AB" (#"AB" #"B"))
|
|
(#"(?i:(a+|b){0,})" #"AB" (#"AB" #"B"))
|
|
(#"(?i:(a+|b)+)" #"AB" (#"AB" #"B"))
|
|
(#"(?i:(a+|b){1,})" #"AB" (#"AB" #"B"))
|
|
(#"(?i:(a+|b)?)" #"AB" (#"A" #"A"))
|
|
(#"(?i:(a+|b){0,1})" #"AB" (#"A" #"A"))
|
|
(#"(?i:(a+|b){0,1}?)" #"AB" (#"" #f))
|
|
(#"(?i:[^ab]*)" #"CDE" (#"CDE"))
|
|
(#"(?i:([abc])*d)" #"ABBBCD" (#"ABBBCD" #"C"))
|
|
(#"(?i:([abc])*bcd)" #"ABCD" (#"ABCD" #"A"))
|
|
(#"(?i:a|b|c|d|e)" #"E" (#"E"))
|
|
(#"(?i:(a|b|c|d|e)f)" #"EF" (#"EF" #"E"))
|
|
(#"(?i:abcd*efg)" #"ABCDEFG" (#"ABCDEFG"))
|
|
(#"(?i:ab*)" #"XABYABBBZ" (#"AB"))
|
|
(#"(?i:ab*)" #"XAYABBBZ" (#"A"))
|
|
(#"(?i:(ab|cd)e)" #"ABCDE" (#"CDE" #"CD"))
|
|
(#"(?i:[abhgefdc]ij)" #"HIJ" (#"HIJ"))
|
|
(#"(?i:^(ab|cd)e)" #"ABCDE" #f)
|
|
(#"(?i:(abc|)ef)" #"ABCDEF" (#"EF" #""))
|
|
(#"(?i:(a|b)c*d)" #"ABCD" (#"BCD" #"B"))
|
|
(#"(?i:(ab|ab*)bc)" #"ABC" (#"ABC" #"A"))
|
|
(#"(?i:a([bc]*)c*)" #"ABC" (#"ABC" #"BC"))
|
|
(#"(?i:a([bc]*)(c*d))" #"ABCD" (#"ABCD" #"BC" #"D"))
|
|
(#"(?i:a([bc]+)(c*d))" #"ABCD" (#"ABCD" #"BC" #"D"))
|
|
(#"(?i:a([bc]*)(c+d))" #"ABCD" (#"ABCD" #"B" #"CD"))
|
|
(#"(?i:a[bcd]*dcdcde)" #"ADCDCDE" (#"ADCDCDE"))
|
|
(#"(?i:(ab|a)b*c)" #"ABC" (#"ABC" #"AB"))
|
|
(#"(?i:((a)(b)c)(d))" #"ABCD" (#"ABCD" #"ABC" #"A" #"B" #"D"))
|
|
(#"(?i:[a-zA-Z_][a-zA-Z0-9_]*)" #"ALPHA" (#"ALPHA"))
|
|
(#"(?i:^a(bc+|b[eh])g|.h$)" #"ABH" (#"BH" #f))
|
|
(#"(?i:(bc+d$|ef*g.|h?i(j|k)))" #"EFFGZ" (#"EFFGZ" #"EFFGZ" #f))
|
|
(#"(?i:(bc+d$|ef*g.|h?i(j|k)))" #"IJ" (#"IJ" #"IJ" #"J"))
|
|
(#"(?i:(bc+d$|ef*g.|h?i(j|k)))" #"REFFGZ" (#"EFFGZ" #"EFFGZ" #f))
|
|
(#"(?i:(bc+d$|ef*g.|h?i(j|k)))" #"ADCDCDE" #f)
|
|
(#"(?i:(bc+d$|ef*g.|h?i(j|k)))" #"EFFG" #f)
|
|
(#"(?i:(bc+d$|ef*g.|h?i(j|k)))" #"BCDD" #f)
|
|
(#"(?i:((((((((((a)))))))))))" #"A" (#"A" #"A" #"A" #"A" #"A" #"A" #"A" #"A" #"A" #"A" #"A"))
|
|
(#"(?i:((((((((((a))))))))))\\10)" #"AA" (#"AA" #"A" #"A" #"A" #"A" #"A" #"A" #"A" #"A" #"A" #"A"))
|
|
(#"(?i:(((((((((a))))))))))" #"A" (#"A" #"A" #"A" #"A" #"A" #"A" #"A" #"A" #"A" #"A"))
|
|
(#"(?i:(?:(?:(?:(?:(?:(?:(?:(?:(?:(a)))))))))))" #"A" (#"A" #"A"))
|
|
(#"(?i:(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c)))))))))))" #"C" (#"C" #"C"))
|
|
(#"(?i:multiple words of text)" #"AA" #f)
|
|
(#"(?i:multiple words of text)" #"UH-UH" #f)
|
|
(#"(?i:multiple words)" #"MULTIPLE WORDS, YEAH" (#"MULTIPLE WORDS"))
|
|
(#"(?i:(.*)c(.*))" #"ABCDE" (#"ABCDE" #"AB" #"DE"))
|
|
(#"(?i:\\((.*), (.*)\\))" #"(A, B)" (#"(A, B)" #"A" #"B"))
|
|
(#"(?i:abcd)" #"ABCD" (#"ABCD"))
|
|
(#"(?i:a(bc)d)" #"ABCD" (#"ABCD" #"BC"))
|
|
(#"(?i:a[-]?c)" #"AC" (#"AC"))
|
|
(#"(?i:(abc)\\1)" #"ABCABC" (#"ABCABC" #"ABC"))
|
|
(#"(?i:([a-c]*)\\1)" #"ABCABC" (#"ABCABC" #"ABC"))
|
|
(#"a(?!b)." #"abad" (#"ad"))
|
|
(#"a(?=d)." #"abad" (#"ad"))
|
|
(#"a(?=c|d)." #"abad" (#"ad"))
|
|
(#"a(?:b|c|d)(.)" #"ace" (#"ace" #"e"))
|
|
(#"a(?:b|c|d)*(.)" #"ace" (#"ace" #"e"))
|
|
(#"a(?:b|c|d)+?(.)" #"ace" (#"ace" #"e"))
|
|
(#"a(?:b|c|d)+?(.)" #"acdbcdbe" (#"acd" #"d"))
|
|
(#"a(?:b|c|d)+(.)" #"acdbcdbe" (#"acdbcdbe" #"e"))
|
|
(#"a(?:b|c|d){2}(.)" #"acdbcdbe" (#"acdb" #"b"))
|
|
(#"a(?:b|c|d){4,5}(.)" #"acdbcdbe" (#"acdbcdb" #"b"))
|
|
(#"a(?:b|c|d){4,5}?(.)" #"acdbcdbe" (#"acdbcd" #"d"))
|
|
(#"((foo)|(bar))*" #"foobar" (#"foobar" #"bar" #"foo" #"bar"))
|
|
(#"a(?:b|c|d){6,7}(.)" #"acdbcdbe" (#"acdbcdbe" #"e"))
|
|
(#"a(?:b|c|d){6,7}?(.)" #"acdbcdbe" (#"acdbcdbe" #"e"))
|
|
(#"a(?:b|c|d){5,6}(.)" #"acdbcdbe" (#"acdbcdbe" #"e"))
|
|
(#"a(?:b|c|d){5,6}?(.)" #"acdbcdbe" (#"acdbcdb" #"b"))
|
|
(#"a(?:b|c|d){5,7}(.)" #"acdbcdbe" (#"acdbcdbe" #"e"))
|
|
(#"a(?:b|c|d){5,7}?(.)" #"acdbcdbe" (#"acdbcdb" #"b"))
|
|
(#"a(?:b|(c|e){1,2}?|d)+?(.)" #"ace" (#"ace" #"c" #"e"))
|
|
(#"^(.+)?B" #"AB" (#"AB" #"A"))
|
|
(#"^([^a-z])|(\\^)$" #"." (#"." #"." #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)
|
|
(#"(?<!c)b" #"ab" (#"b"))
|
|
(#"(?<!c)b" #"b" (#"b"))
|
|
(#"(?<!c)b" #"b" (#"b"))
|
|
(#"(?:..)*a" #"aba" (#"aba"))
|
|
(#"(?:..)*?a" #"aba" (#"a"))
|
|
(#"^(?:b|a(?=(.)))*\\1" #"abc" (#"ab" #"b"))
|
|
#"^(){3,5}"
|
|
(#"^(a+)*ax" #"aax" (#"aax" #"a"))
|
|
(#"^((a|b)+)*ax" #"aax" (#"aax" #"a" #"a"))
|
|
(#"^((a|bc)+)*ax" #"aax" (#"aax" #"a" #"a"))
|
|
(#"(a|x)*ab" #"cab" (#"ab" #f))
|
|
(#"(a)*ab" #"cab" (#"ab" #f))
|
|
(#"(?:(?i:a))b" #"ab" (#"ab"))
|
|
(#"((?i:a))b" #"ab" (#"ab" #"a"))
|
|
(#"(?:(?i:a))b" #"Ab" (#"Ab"))
|
|
(#"((?i:a))b" #"Ab" (#"Ab" #"A"))
|
|
(#"(?:(?i:a))b" #"cb" #f)
|
|
(#"(?:(?i:a))b" #"aB" #f)
|
|
(#"(?i:a)b" #"ab" (#"ab"))
|
|
(#"((?i:a))b" #"ab" (#"ab" #"a"))
|
|
(#"(?i:a)b" #"Ab" (#"Ab"))
|
|
(#"((?i:a))b" #"Ab" (#"Ab" #"A"))
|
|
(#"(?i:a)b" #"aB" #f)
|
|
(#"(?i:a)b" #"aB" #f)
|
|
(#"(?i:(?:(?-i:a))b)" #"ab" (#"ab"))
|
|
(#"(?i:((?-i:a))b)" #"ab" (#"ab" #"a"))
|
|
(#"(?i:(?:(?-i:a))b)" #"aB" (#"aB"))
|
|
(#"(?i:((?-i:a))b)" #"aB" (#"aB" #"a"))
|
|
(#"(?i:(?:(?-i:a))b)" #"aB" (#"aB"))
|
|
(#"(?i:(?:(?-i:a))b)" #"Ab" #f)
|
|
(#"(?i:(?:(?-i:a))b)" #"aB" (#"aB"))
|
|
(#"(?i:((?-i:a))b)" #"aB" (#"aB" #"a"))
|
|
(#"(?i:(?:(?-i:a))b)" #"Ab" #f)
|
|
(#"(?i:(?:(?-i:a))b)" #"AB" #f)
|
|
(#"(?i:(?-i:a)b)" #"ab" (#"ab"))
|
|
(#"(?i:((?-i:a))b)" #"ab" (#"ab" #"a"))
|
|
(#"(?i:(?-i:a)b)" #"aB" (#"aB"))
|
|
(#"(?i:((?-i:a))b)" #"aB" (#"aB" #"a"))
|
|
(#"(?i:(?-i:a)b)" #"AB" #f)
|
|
(#"(?i:(?-i:a)b)" #"Ab" #f)
|
|
(#"(?i:(?-i:a)b)" #"aB" (#"aB"))
|
|
(#"(?i:((?-i:a))b)" #"aB" (#"aB" #"a"))
|
|
(#"(?i:(?-i:a)b)" #"Ab" #f)
|
|
(#"(?i:(?-i:a)b)" #"AB" #f)
|
|
(#"(?i:((?-i:a.))b)" #"AB" #f)
|
|
(#"(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))" #"cabbbb" (#"cabbbb"))
|
|
(#"(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))" #"caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" (#"caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"))
|
|
(#"(?i:(ab)\\d\\1)" #"Ab4ab" (#"Ab4ab" #"Ab"))
|
|
(#"(?i:(ab)\\d\\1)" #"ab4Ab" (#"ab4Ab" #"ab"))
|
|
(#"foo\\w*\\d{4}baz" #"foobar1234baz" (#"foobar1234baz"))
|
|
(#"x(~~)*(?:(?:F)?)?" #"x~~" (#"x~~" #"~~"))
|
|
(#"(?<![cd])b" #"dbcb" #f)
|
|
(#"(?<![cd])[ab]" #"dbaacb" (#"a"))
|
|
(#"(?<!(c|d))[ab]" #"dbaacb" (#"a" #f))
|
|
(#"(?<!cd)[ab]" #"cdaccb" (#"b"))
|
|
#"^(?:a?b?)*$"
|
|
#"^(?:a?b?)*$"
|
|
(#"(?=(a+?))(\\1ab)" #"aaab" (#"aab" #"a" #"aab"))
|
|
(#"(\\w+:)+" #"one:" (#"one:" #"one:"))
|
|
(#"$(?<=^(a))" #"a" #f)
|
|
(#"(?=(a+?))(\\1ab)" #"aaab" (#"aab" #"a" #"aab"))
|
|
(#"^(?=(a+?))\\1ab" #"aaab" #f)
|
|
(#"^(?=(a+?))\\1ab" #"aaab" #f)
|
|
(#"([\\w:]+::)?(\\w+)$" #"abcd" (#"abcd" #f #"abcd"))
|
|
(#"([\\w:]+::)?(\\w+)$" #"xy:z:::abcd" (#"xy:z:::abcd" #"xy:z:::" #"abcd"))
|
|
(#"^[^bcd]*(c+)" #"aexycd" (#"aexyc" #"c"))
|
|
(#"(a*)b+" #"caab" (#"aab" #"aa"))
|
|
(#"([\\w:]+::)?(\\w+)$" #"abcd" (#"abcd" #f #"abcd"))
|
|
(#"([\\w:]+::)?(\\w+)$" #"xy:z:::abcd" (#"xy:z:::abcd" #"xy:z:::" #"abcd"))
|
|
(#"([\\w:]+::)?(\\w+)$" #"abcd:" #f)
|
|
(#"([\\w:]+::)?(\\w+)$" #"abcd:" #f)
|
|
(#"^[^bcd]*(c+)" #"aexycd" (#"aexyc" #"c"))
|
|
(#"(?>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}...)(?<!999)foo" #"123abcfoo " (#"foo"))
|
|
(#"(?<=\\d{3}...)(?<!999)foo" #"123456foo " (#"foo"))
|
|
(#"(?<=\\d{3}...)(?<!999)foo" #"123999foo " #f)
|
|
(#"((Z)+|A)*" #"ZABCDEFG" (#"ZA" #"A" #"Z"))
|
|
(#"(Z()|A)*" #"ZABCDEFG" (#"ZA" #"A" #""))
|
|
(#"(Z(())|A)*" #"ZABCDEFG" (#"ZA" #"A" #"" #""))
|
|
(#"((?>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"))
|
|
(#"^12.34" #"12\n34" (#"12\n34"))
|
|
(#"(?m:^12.34)" #"12\n34" #f)
|
|
(#"(?s:^12.34)" #"12\n34" (#"12\n34"))
|
|
(#"(?m:^12.34)" #"12x34" (#"12x34"))
|
|
(#"(?s:^12.34)" #"12x34" (#"12x34"))
|
|
(#"^a" #"a\nb\nc" (#"a"))
|
|
(#"^a$" #"a\nb\nc" #f)
|
|
(#"(?m:^a)" #"a\nb\nc" (#"a"))
|
|
(#"(?m:^a$)" #"a\nb\nc" (#"a"))
|
|
(#"^b" #"a\nb\nc" #f)
|
|
(#"b$" #"a\nb\nc" #f)
|
|
(#"^b$" #"a\nb\nc" #f)
|
|
(#"(?m:^b)" #"a\nb\nc" (#"b"))
|
|
(#"(?m:b$)" #"a\nb\nc" (#"b"))
|
|
(#"(?m:^b$)" #"a\nb\nc" (#"b"))
|
|
(#"(?m:a[^a]^b)" #"a\nb\nc" (#"a\nb"))
|
|
(#"(?m:a[^a]^b$)" #"a\nb\nc" (#"a\nb"))
|
|
(#"(?m:a$[^a]^b$)" #"a\nb\nc" (#"a\nb"))
|
|
(#"(?m:a[^a]^b[^a]^c)" #"a\nb\nc" (#"a\nb\nc"))
|
|
(#"(?m:^a$[^a]^b$[^a]^c$)" #"a\nb\nc" (#"a\nb\nc"))
|
|
#"(?())"
|
|
#"(?(a))"
|
|
#"(a)(?(\\1))"
|
|
#"(?(1))"
|
|
#"(?(1)a|b|c)"
|
|
#"(?(?=x)a|b|c)"
|
|
#"(?(?=x)a"
|
|
#"(?(?=x)a|b"
|
|
#"(?(?=x)a|b|"
|
|
(#"(a)?(?(1)12|b12)" #"a12" (#"a12" #"a"))
|
|
(#"(a)?(?(1)12|b12)" #"b12" (#"b12" #f))
|
|
(#"(a)?(?(1)12|b12)" #"b13" #f)
|
|
(#"(a)?(?(1)|b12)" #"a12" (#"a" #"a"))
|
|
(#"(a)?(?(1)12)" #"a12" (#"a12" #"a"))
|
|
(#"(a)?(?(1)12)" #"b12" (#"" #f))
|
|
(#"(?(?=a)a12|b12)" #"a12" (#"a12"))
|
|
(#"(?(?=a)a12|b12)" #"b12" (#"b12"))
|
|
(#"(?(?=a)a12|b12)" #"c12" #f)
|
|
(#"(?(?=a)a12|b12)" #"b13" #f)
|
|
(#"(?(?!a).12|a13)" #"a13" (#"a13"))
|
|
(#"(?(?!a).12|a13)" #"b12" (#"b12"))
|
|
(#"(?(?!a).12|a13)" #"c12" (#"c12"))
|
|
(#"(?(?!a).12|a13)" #"c13" #f)
|
|
(#"(?(?<=a)12|13)" #"a12" (#"12"))
|
|
(#"(?(?<=a)12|13)" #"b13" (#"13"))
|
|
(#"(?(?<=a)12|13)" #"a13" #f)
|
|
(#"(?(?<=a)12|13)" #"b12" #f)
|
|
(#"(?(?<!a)12|13)" #"b12" (#"12"))
|
|
(#"(?(?<!a)12|13)" #"a13" (#"13"))
|
|
(#"(?(?<!a)12|13)" #"b13" #f)
|
|
(#"(?(?<!a)12|13)" #"a12" #f)
|
|
(#"^(E)?(?(1)aa|a)*$" #"Ea" #f)
|
|
(#"^(E)?(?(1)aa|a)*$" #"Eaa" (#"Eaa" #"E"))
|
|
(#"^(E)?(?(1)aa|a)*$" #"Eaaa" #f)
|
|
(#"^(E)?(?(1)aa|a)*$" #"Eaaaa" (#"Eaaaa" #"E"))
|
|
(#"^(E)?(?(1)aa|a)*$" #"aaa" (#"aaa" #f))
|
|
(#"^(E)?(?(1)aa|a)*$" #"aaaa" (#"aaaa" #f))))
|
|
|
|
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;; Test unicode-property patterns
|
|
|
|
(let ([just-once? #t]
|
|
[kcrl (make-known-char-range-list)]
|
|
[ht (make-hasheq)]
|
|
[bformat (lambda (s v)
|
|
(string->bytes/latin-1 (format s v)))])
|
|
(for-each (lambda (str)
|
|
(hash-set! ht
|
|
(string->symbol (string-downcase str))
|
|
(vector
|
|
(byte-pregexp (bformat "\\p{~a}" str))
|
|
(pregexp (format "\\p{~a}" str))
|
|
(byte-pregexp (bformat "\\p{~a}*" str))
|
|
(pregexp (format "\\p{~a}*" str))
|
|
(byte-pregexp (bformat "\\P{~a}" str))
|
|
(pregexp (format "\\P{~a}" str))
|
|
(byte-pregexp (bformat "\\P{~a}*" str))
|
|
(pregexp (format "\\P{~a}*" str)))))
|
|
'("Cn" "Cc" "Cf" "Cs" "Co" "Ll" "Lu" "Lt" "Lm" "Lo" "Nd" "Nl" "No"
|
|
"Ps" "Pe" "Pi" "Pf" "Pc" "Pd" "Po" "Mn" "Mc" "Me" "Sc" "Sk" "Sm" "So" "Zl" "Zp" "Zs"))
|
|
(hash-for-each ht
|
|
(lambda (k v)
|
|
(let ([bad1 #"\377\377"]
|
|
[bad2 (regexp-replace #rx#".$"
|
|
(string->bytes/utf-8 "\U10FFF1")
|
|
#"\377")]
|
|
[bad3 (regexp-replace #rx#".$"
|
|
(string->bytes/utf-8 "\u1234")
|
|
#"")])
|
|
(test #f regexp-match (vector-ref v 0) bad1)
|
|
(test #f regexp-match (vector-ref v 0) bad2)
|
|
(test #f regexp-match (vector-ref v 0) bad3)
|
|
(test #f regexp-match (vector-ref v 1) bad1)
|
|
(test #f regexp-match (vector-ref v 1) bad2)
|
|
(test #f regexp-match (vector-ref v 1) bad3)
|
|
(test #f regexp-match (vector-ref v 4) bad1)
|
|
(test #f regexp-match (vector-ref v 4) bad2)
|
|
(test #f regexp-match (vector-ref v 4) bad3)
|
|
(test #f regexp-match (vector-ref v 5) bad1)
|
|
(test #f regexp-match (vector-ref v 5) bad2)
|
|
(test #f regexp-match (vector-ref v 5) bad3)
|
|
(let ([other (ormap (lambda (e)
|
|
(and (not (eq? k (char-general-category
|
|
(integer->char (car e)))))
|
|
(integer->char (car e))))
|
|
kcrl)])
|
|
(let* ([s (string other)]
|
|
[bs (string->bytes/utf-8 s)]
|
|
[s* (string-append s s s)]
|
|
[bs* (bytes-append bs bs bs)])
|
|
(test #f regexp-match (vector-ref v 0) bs)
|
|
(test #f regexp-match (vector-ref v 1) s)
|
|
(test '(#"") regexp-match (vector-ref v 2) bs)
|
|
(test '("") regexp-match (vector-ref v 3) s)
|
|
(test (list bs) regexp-match (vector-ref v 4) bs)
|
|
(test (list s) regexp-match (vector-ref v 5) s)
|
|
(test (list bs*) regexp-match (vector-ref v 6) bs*)
|
|
(test (list s*) regexp-match (vector-ref v 7) s*))))))
|
|
(let ([try (lambda (n)
|
|
(let* ([cat (char-general-category (integer->char n))]
|
|
[v (hash-ref ht cat #f)])
|
|
(when v
|
|
(when just-once?
|
|
(hash-remove! ht cat))
|
|
(let* ([s (string (integer->char n))]
|
|
[bs (string->bytes/utf-8 s)]
|
|
[bs* (string->bytes/utf-8 (string-append s s s s s))]
|
|
[regexp-match* (lambda (p s)
|
|
(let ([v (regexp-match p (bytes->string/utf-8 s))])
|
|
(and v
|
|
(map string->bytes/utf-8 v))))])
|
|
(test (list bs) regexp-match (vector-ref v 0) bs)
|
|
(test (list bs) regexp-match* (vector-ref v 1) bs)
|
|
(test (list bs*) regexp-match (vector-ref v 2) bs*)
|
|
(test (list bs*) regexp-match* (vector-ref v 3) bs*)))))])
|
|
(for-each (lambda (e)
|
|
(let ([start (car e)]
|
|
[end (cadr e)]
|
|
[uniform? (caddr e)])
|
|
(let loop ([n start])
|
|
(try n)
|
|
(unless (= n end)
|
|
(loop (if uniform? end (+ n 1)))))))
|
|
kcrl)))
|
|
|
|
|
|
(test '(#" ") regexp-match #px#"\t|\\p{Zs}" " ")
|
|
(test '(" ") regexp-match #px"\t|\\p{Zs}" " ")
|
|
(test '(#"\t") regexp-match #px#"\t|\\p{Zs}" "\t")
|
|
(test '("\t") regexp-match #px"\t|\\p{Zs}" "\t")
|
|
(test #f regexp-match #px#"\t|\\p{Zs}" "a")
|
|
(test #f regexp-match #px"\t|\\p{Zs}" "a")
|
|
|
|
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
;; Check that [\s] doesn't match \s, etc.
|
|
(let ([test-both
|
|
(lambda (r bstr arg)
|
|
(test (and r (list r))regexp-match (byte-pregexp bstr) arg)
|
|
(test (and r (list (bytes->string/latin-1 r)) )
|
|
regexp-match
|
|
(pregexp (bytes->string/latin-1 bstr))
|
|
(bytes->string/latin-1 arg)))])
|
|
(test-both #f #"[\\s]" #"a")
|
|
(test-both #f #"[\\s]" #"s")
|
|
(test-both #" " #"[\\s]" #" ")
|
|
(test-both #"a" #"[^\\s]" #"a")
|
|
(test-both #"s" #"[^\\s]" #"s")
|
|
(test-both #f #"[^\\s]" #" "))
|
|
|
|
;; Check that rx doesn't parse as px:
|
|
(test '(#"aa" #"a") regexp-match #px#"(a)\\1" #"aa")
|
|
(test '(#"a1" #"a") regexp-match #rx#"(a)\\1" #"a1")
|
|
(test '(#"a") regexp-match #px#"\\w" #"aw")
|
|
(test '(#"w") regexp-match #rx#"\\w" #"aw")
|
|
(test '(#"0") regexp-match #px#"\\d" #"0w")
|
|
(test '(#"d") regexp-match #rx#"\\d" #"0d")
|
|
(test '(#"0") regexp-match #px#"[\\d]" #"0w")
|
|
(test '(#"d") regexp-match #rx#"[\\d]" #"0d")
|
|
(test '(#"\\") regexp-match #rx#"[\\d]" #"0\\")
|
|
|
|
;; Check $:
|
|
(test '(#"$") regexp-match #px#"\\$" #"a$b")
|
|
(test '(#"$") regexp-match #rx#"\\$" #"a$b")
|
|
(test '(#"a$") regexp-match #px#"a\\$" #"a$b")
|
|
(test '(#"a$") regexp-match #rx#"a\\$" #"a$b")
|
|
|
|
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
(report-errs)
|