scheme@(guile-user)> (regexp-substitute/global #f ">>>/*[^/]+/([^0-9]|$)" ">>>/a b/"" 'pre (lambda (m) (let* ((brd (substring (match:substring m) 13 (- (string-length (match:substring m)) 1)))) (format #f "~a" brd (match:substring m)))) 'post) $3 = ">>>/a b/"" scheme@(guile-user)> (regexp-substitute/global #f "(>>>/*([^ \\t\\r\\n/]+)/)([^0-9]|$)" "zzz >>>/abc/"" 'pre (lambda (m) (format #f "~a~a" (match:substring m 2) (match:substring m 1) (match:substring m 3))) 'post) $4 = "zzz >>>/abc/"" scheme@(guile-user)> (regexp-substitute/global #f "(>>>/*([^ \\t\\r\\n/]+)/)([^0-9]|$)" "zzz >>>/a b/"" 'pre (lambda (m) (format #f "~a~a" (match:substring m 2) (match:substring m 1) (match:substring m 3))) 'post) $5 = "zzz >>>/a b/"" scheme@(guile-user)> (regexp-substitute/global #f "(>>>/*([^ \\t\\r\\n/]+)/)([^0-9]|$)" "zzz >>>/abc/" 'pre (lambda (m) (format #f "~a~a" (match:substring m 2) (match:substring m 1) (match:substring m 3))) 'post) $6 = "zzz >>>/abc/"