我试图将camelCase变量名转换为snake_case,并希望使用正则表达式来实现。我认为一个简单的查找[a-z]([A-Z])
并替换为_$L$1
会有效,但它实际上是在放置" $ L"进入变量名称。 RStudio中的方法是什么(使用PERL引擎进行正则表达式)替换为捕获组的小写外壳?
答案 0 :(得分:3)
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
如果可能,请使用支持\u
/ \U...\E
和\l
/ \L...\E
运营商的Notepad ++或Sublime Text或其他支持Boost的工具。
查找内容:([[:lower:]])([[:upper:]])
(或您的([a-z])([A-Z])
)
替换为:\1\l\2