正则表达式 – R正则表达式Lookbehind

前端之家收集整理的这篇文章主要介绍了正则表达式 – R正则表达式Lookbehind前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个向量填充以下格式的字符串:< year1>< year2>< id1>< id2>

向量的第一个条目如下所示:

199719982001
199719982002
199719982003
199719982003

对于第一个条目,我们有:year1 = 1997,year2 = 1998,id1 = 2,id2 = 001.

我想写一个正则表达式,它取出year1,id1和id2的数字,这些数字不为零.所以对于第一个条目,正则表达式应该输出:199721.

我已尝试使用stringr包执行此操作,并创建以下正则表达式:

"^\\d{4}|\\d{1}(?<=\\d{3}$)"

拉出year1和id1,但是当使用lookbehind我得到一个“无效的正则表达式”错误.这对我来说有点令人费解,R不能处理前瞻和外观吗?

由于这是固定格式,为什么不使用substr?使用substr(s,1,4)提取year1,使用substr(s,9,9)提取id1,将id2提取为as.numeric(substr(s,10,13)).在最后一种情况下,我使用as.numeric来摆脱零.
原文链接:https://www.f2er.com/regex/357225.html

猜你在找的正则表达式相关文章