在 RStudio 的查找和替换功能中使用正则表达式将捕获的组替换为小写

Using regex in the Find and Replace feature of RStudio to replace captured group with lower case

我正在尝试将 camelCase 变量名称转换为 snake_case 并希望使用正则表达式来完成此操作。我认为一个简单的查找 [a-z]([A-Z]) 并替换为 _$L 会起作用,但它实际上是将“$L”放入变量名中。 RStudio(使用正则表达式的 PERL 引擎)用小写字母替换捕获组的方法是什么?

PCRE 不支持 \u\l 运算符:

37 PCRE does not support \L, \l, \N{name}, \U, or \u

RStudio 也不支持它们。

因此,您可以使用 regex 做的最好的事情是打开 Regex 复选框,并使用 26 个 regexp 替换,例如:

([a-z])A -> a
([a-z])B -> b
 ....
([a-z])Z -> z

如果可能,请使用 Notepad++ 或 Sublime Text,或其他支持 \u/\U...\E\l/\L...\E 运算符的 Boost 强大工具.

查找内容([[:lower:]])([[:upper:]])(或您的([a-z])([A-Z])
替换为\l