我有一堆混合长度的字符串,但都嵌入了一年.我试图只提取文本部分,这是一切,直到数字开始和lookeahead断言有问题,假设这是这种提取的正确方法.
这是我所拥有的(返回不匹配):
>grep("\\b.(?=\\d{4})","foo_1234_bar",perl=T,value=T)
在这个例子中,我希望仅提取,foo但可能有几个,混合长度,_在年份之前分开.
在这里预测可能有点过头了.使用下划线和4位数作为结构,结合非贪婪的量词,以防止'点'吞噬一切:
/(.+?)_\d{4}/
Run Code Online (Sandbox Code Playgroud)
- 第一个匹配组($ 1)持有'foo'
| 归档时间: |
|
| 查看次数: |
425 次 |
| 最近记录: |