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

标签 regex rstudio

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

相关文章:

ruby - 解析 Ruby 中的字符串以获得多个值?

r - Rstudio 版本(版本 1.3.1073) "Giant goldenrod"将 R studio 窗口移动到新显示器时出现的问题无法正确显示

r - R 中的消息框

java - 正则表达式截断尾随零

regex - GitLab 代码覆盖率徽章未显示

javascript - 什么是验证诸如 mm/yyyy 之类的日期格式的正则表达式?

r - Packrat损坏R功能时出现问题

javascript - 需要正则表达式帮助

R/RStudio : graph scaling issues & fuzziness on high dpi screens

r - R包中的C函数-函数结束时Rsession中止