pcre - 正则表达式限定`n()`
问题描述
我想替换n()
为dplyr::n()
. 我想匹配像这样的条目
n()
n()
a = n()
b = runif(n())
但不匹配条目
function()
dplyr::n()
以下正则表达式有效,但我想知道是否有更好的方法。
- 模式:
([^:\w]|\A)n\(\)
; 替代:$1dplyr::n()
这里有两种使用负面回溯的不成功方法。第一个(寻找非B边界,未命中dplyr::n()
,而第二个未命中function()
。
- 模式:
(?<!\B)n\(\)
; 替代:dplyr::n()
- 模式:
(?<!:)n\(\)
; 替代:dplyr::n()
注意:我对正则表达式的风格很灵活。我最喜欢使用 Atom 替换 repo 中的多个文件。(这并不是真正的约束,但修改后的代码是 R,它使用PCRE。)上面的替换模式是为regex101编写的。
解决方案
@melpomene 对上述评论的回答:
(?<![\w:])n\(\)
推荐阅读
- jquery - jQuery 音频播放器 - 未捕获(承诺)DOMException:加载失败,因为找不到支持的源
- next.js - 为什么 mapbox-gl-js 无法正确解析 env 变量令牌?
- string - 修改 bash 字符串
- angular - Ionic 4,在模态页面上添加自定义组件
- ios - 在 Flutter 中使用 Firebase ML 视觉安装 pod 时出错
- javascript - 在 JS 对话窗口中单击“全选”按钮会导致主页面中的所有复选框都被选中
- javascript - 这些交互 btw var 和具有相同名称的函数声明如何工作?
- r - 减少ggplot2中多个图中的列高
- ios - MPVolumeView not visible when connected to AirPlay device
- javascript - JS根据窗口宽度控制文字长度