diff options
Diffstat (limited to 'libs/regex.neb')
| -rw-r--r-- | libs/regex.neb | 24 | 
1 files changed, 12 insertions, 12 deletions
| diff --git a/libs/regex.neb b/libs/regex.neb index a4460ec..af36830 100644 --- a/libs/regex.neb +++ b/libs/regex.neb @@ -12,34 +12,34 @@  (func .match-? :bool (pattern text)      (or          (and  -            (.match-one (first-char pattern) (first-char text)) -            (.match-inner (rest-char (rest-char pattern)) (rest-char text))) -        (.match-inner (rest-char (rest-char pattern)) text))) +            (.match-one (first pattern) (first text)) +            (.match-inner (rest (rest pattern)) (rest text))) +        (.match-inner (rest (rest pattern)) text)))  (func .match-* (pattern text)      (or          (and -            (.match-one (first-char pattern) (first-char text)) -            (.match-inner pattern (rest-char text))) -        (.match-inner (rest-char (rest-char pattern)) text))) +            (.match-one (first pattern) (first text)) +            (.match-inner pattern (rest text))) +        (.match-inner (rest (rest pattern)) text)))  (func .match-inner (pattern text)      (branch          ((eq? "" pattern) #true)          ((and (eq? "$" pattern) (eq? "" text)) #true)          ((eq? "" text) #false) -        ((and (>= (length pattern) 2) (eq? "?" (first-char (rest-char pattern)))) +        ((and (>= (length pattern) 2) (eq? "?" (first (rest pattern))))              (.match-? pattern text)) -        ((and (>= (length pattern) 2) (eq? "*" (first-char (rest-char pattern)))) +        ((and (>= (length pattern) 2) (eq? "*" (first (rest pattern))))              (.match-* pattern text))          (#true              (and -                (.match-one (first-char pattern) (first-char text)) -                (.match-inner (rest-char pattern) (rest-char text)))))) +                (.match-one (first pattern) (first text)) +                (.match-inner (rest pattern) (rest text))))))  (func .search (pattern text) -    (if (eq? "^" (first-char pattern)) -        (.match-inner (rest-char pattern) text) +    (if (eq? "^" (first pattern)) +        (.match-inner (rest pattern) text)          ;(.match-inner (concat ".*" pattern) text)))  ; this is elegant but requires going through the entire string          (block              (def seed (list)) | 
