From bf46ea5611ecc94bf9669b316509281ee8d5c39e Mon Sep 17 00:00:00 2001 From: albertony <12441419+albertony@users.noreply.github.com> Date: Thu, 28 Aug 2025 09:04:37 +0200 Subject: [PATCH] docs: add some more details about supported regex syntax --- cmd/convmv/convmv.go | 9 ++++++++- docs/content/filtering.md | 6 +++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/cmd/convmv/convmv.go b/cmd/convmv/convmv.go index 5a857d703..bb140cfa0 100644 --- a/cmd/convmv/convmv.go +++ b/cmd/convmv/convmv.go @@ -34,7 +34,14 @@ var commandDefinition = &cobra.Command{ Long: strings.ReplaceAll(`convmv supports advanced path name transformations for converting and renaming files and directories by applying prefixes, suffixes, and other alterations. -`+transform.Help()+`Multiple transformations can be used in sequence, applied +`+transform.Help()+`The regex command generally accepts Perl-style regular expressions, the exact +syntax is defined in the [Go regular expression reference](https://golang.org/pkg/regexp/syntax/). +The replacement string may contain capturing group variables, referencing +capturing groups using the syntax ¡$name¡ or ¡${name}¡, where the name can +refer to a named capturing group or it can simply be the index as a number. +To insert a literal $, use $$. + +Multiple transformations can be used in sequence, applied in the order they are specified on the command line. The ¡--name-transform¡ flag is also available in ¡sync¡, ¡copy¡, and ¡move¡. diff --git a/docs/content/filtering.md b/docs/content/filtering.md index 62f9ccce1..319dccf5b 100644 --- a/docs/content/filtering.md +++ b/docs/content/filtering.md @@ -149,9 +149,9 @@ uses) to make things easy for users. However this does not provide absolute control over the matching, so for advanced users rclone also provides a regular expression syntax. -The regular expressions used are as defined in the [Go regular -expression reference](https://golang.org/pkg/regexp/syntax/). Regular -expressions should be enclosed in `{{` `}}`. They will match only the +Rclone generally accepts Perl-style regular expressions, the exact syntax +is defined in the [Go regular expression reference](https://golang.org/pkg/regexp/syntax/). +Regular expressions should be enclosed in `{{` `}}`. They will match only the last path segment if the glob doesn't start with `/` or the whole path name if it does. Note that rclone does not attempt to parse the supplied regular expression, meaning that using any regular expression