我正在尝试将camelCase 变量名称转换为snake_case 并希望使用正则表达式来执行此操作。我认为一个简单的查找[a-z]([A-Z])和替换_$L$1会起作用,但它实际上是将“$L”放入变量名中。RStudio(使用 PERL 引擎进行正则表达式)中用小写字母替换捕获组的方法是什么?
PCRE不支持\u和\l操作符:
37 PCRE 不支持
\L,\l,\N{name},\U, 或\u
RStudio 也不支持它们。
因此,您可以使用正则表达式做的最好的事情是打开Regex复选框,并使用 26 个正则表达式替换,例如:
([a-z])A -> $1a
([a-z])B -> $1b
....
([a-z])Z -> $1z
Run Code Online (Sandbox Code Playgroud)
如果可能,请使用 Notepad++ 或 Sublime Text,或其他支持/和/运算符的Boost 驱动工具。\u\U...\E\l\L...\E
查找内容:(([[:lower:]])([[:upper:]])或您的([a-z])([A-Z]))
替换为:\1\l\2