我正在尝试将camelCase 变量名转换为snake_case 并希望使用正则表达式来执行此操作。我想了一个简单的发现[a-z]([A-Z])
并替换为 _$L$1
会起作用,但它实际上是将“$L”放入变量名中。 RStudio(使用 PERL 引擎进行正则表达式)中用小写字母替换捕获组的方法是什么?
最佳答案
PCRE不支持\u
和 \l
运营商:
37 PCRE does not support
\L
,\l
,\N{name}
,\U
, or\u
RStudio 也不支持它们。
所以,你能用正则表达式做的最好的事情就是打开
Regex
复选框,并使用 26 个正则表达式替换,如:([a-z])A -> $1a
([a-z])B -> $1b
....
([a-z])Z -> $1z
如果可能,请使用 Notepad++ 或 Sublime Text,或其他 Boost支持
\u
的动力工具/\U...\E
和 \l
/\L...\E
运营商。找什么 :
([[:lower:]])([[:upper:]])
(或您的 ([a-z])([A-Z])
)替换为 :
\1\l\2
关于regex - 在 RStudio 的查找和替换功能中使用正则表达式将捕获的组替换为小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34777503/