R中的正则表达式可反向拆分字符串

时间:2019-03-03 13:44:27

标签: r regex

我正尝试将变量字符串拆分为组件,以便稍后在数据帧中使用,但是我努力寻找一种方法来执行反向正则表达式以找到两个字符之间的字符串。

我的字符串如下:

20581 Buzz Testing Nathan 3 BUZZRETJOUCHUALLA_D1C - Churned - Stage 1 Other 28-February-2019.csv

我正在尝试从“。”的左侧提取日期。直到遇到的第一个空格,应该给我日期。

我在线上尝试了几种不同的Regex校验器,但似乎没有一个能很好地转换为R。

我还提供了一些示例代码,用于成功分割文本字符串的其他元素:

regmatches(file_list, regexpr("(?<=\\- )[^ -]+", file_list, perl=TRUE)) 

1 个答案:

答案 0 :(得分:1)

此正则表达式将为您获取字符串中最后一个文字28-February-2019之后的非空格字符串(即您需要的日期.

\S+(?=\.[^.]*$)

Demo

查看此R代码,

file_list <- "20581 Buzz Testing Nathan 3 BUZZRETJOUCHUALLA_D1C - Churned - Stage 1 Other 28-February-2019.csv"
regmatches(file_list, regexpr("\\S+(?=\\.[^.]*$)", file_list, perl=TRUE));

打印

[1] "28-February-2019"

Online R Demo