r - 如果没有类似 perl 的前瞻,如何 grep 模式不存在的情况?
问题描述
我正在尝试为不发生模式时创建一个正则表达式(具体来说,我想从驱动器中提取文件夹和子文件夹的列表,所以我正在寻找任何不以 结尾的东西\\.[[:alnum:]]{1,4}$
) . 因为这种模式进入list.files
,我不能使用类似 PERL 的前瞻(对吗?)。除了首先将所有内容放入向量然后在其上运行 grep 并进行前瞻之外,我还有其他方法可以实现它吗?
解决方案
我对R
的正则表达式不太熟悉,但这似乎对我有用:
'.*[^[:alnum:]].{0,3}$'
这意味着您希望最后 3 个字符中的至少一个不是字母数字
files <- c("my_file", "script.php", "foo!faa", "test123.321tset", "colors.red")
files[grep(".*[^[:alnum:]].{0,3}$", files)]
# => "script.php" "foo!faa" "colors.red"
推荐阅读
- python - 将 UNIX 时间戳添加到网络摄像头录制的开始/结束
- spring - 使用新记录上的 EventSource 自动更新客户端
- python - py2neo.database.ClientError: SemanticError: Cannot merge node using null property value for Country
- r - 在 R 中使用库 lubridate 进行不寻常的日期处理
- java - 无法解析的导入 POM:传输失败
- excel - 使用 VBS 更新电子表格中的单元格 - 保存文件时更改输入格式
- r - 从纬度计算权重以应用于栅格堆栈值
- c - 从 C 中的文件读取时使用 fscanf()
- vuetify.js - Nuxt Vuetify 模块 - 自定义组件图标不起作用
- html - 如何使用漂亮的汤在 html 中读取具有双类的表格