在 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
我正在尝试将 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