diff --git a/README.md b/README.md index 4b77483..6d7984b 100644 --- a/README.md +++ b/README.md @@ -24,4 +24,5 @@ TODO Two search patterns means TODO Find org-mode racket parser / language: https://github.com/tgbugs/laundry -TODO search in subdirectories +For word boundaries etc. see: +https://docs.racket-lang.org/guide/regexp-chars.html#%28part._.P.O.S.I.X_character_classes%29 diff --git a/main.rkt b/main.rkt index 1ade211..7069c97 100644 --- a/main.rkt +++ b/main.rkt @@ -80,6 +80,7 @@ racket main.rkt -p title racket main.rkt -n -p title racket main.rkt -np title racket main.rkt -p rackjure +racket main.rkt -e ./main.rkt -p [[:blank:]]install([[:cntrl:]]|[[:blank:]]) racket main.rkt -e \"/home/bost/der/search-notes/main.rkt /home/bost/der/search-notes/README.md\" -p subdir " @@ -137,8 +138,11 @@ racket main.rkt -e \"/home/bost/der/search-notes/main.rkt /home/bost/der/search- (colorize colorize-matches? display-fn (cdr matches) (cdr patterns)))])) + ;; - For regexp vs. pregexp - the same must be used also in notes.rkt; + ;; - In contrary to the regexp-defining string in the notes.rkt no '.*' must + ;; be used. (define regexp-split-match - (regexp (format "(?~a:~a)" (case-sensitivity-params) (pattern-param)))) + (pregexp (format "(?~a:~a)" (case-sensitivity-params) (pattern-param)))) (define colorize-matches? (colorize-matches-param)) diff --git a/notes.rkt b/notes.rkt index cb8d60a..f1b88f6 100644 --- a/notes.rkt +++ b/notes.rkt @@ -20,11 +20,21 @@ #`(begin '(#,@((compose (curry map bytes->string/utf-8) + #; + (lambda (s) + (display (format "matches: ~a\n" s)) + s) (curry filter (curry regexp-match #;#px"^.*labor.*" #;#rx"^.*labor.*" ((compose - regexp + ;; See also the regexp-split-match in the main.rkt + #; + (lambda (s) + (display (format "notes: ~a\n" s)) + s) + ;; regexp ;; #rx + pregexp ;; #px - posix #; (lambda (s) (display (format "notes: ~a\n" s))