gpt4 book ai didi

r - stringr str_extract 捕获组捕获所有内容

转载 作者:行者123 更新时间:2023-12-04 09:28:06 24 4
gpt4 key购买 nike

我正在寻找从字符串中提取年份。这总是在“X”之后和“。”之前。然后是一串其他字符。

使用 stringrstr_extract我正在尝试以下操作:

year = str_extract(string = 'X2015.XML.Outgoing.pounds..millions.'
, pattern = 'X(\\d{4})\\.')

我认为括号会定义捕获组,返回 2015 ,但我实际上得到了完整的匹配 X2015.
我这样做正确吗?为什么我不修剪“X”和“.”?

最佳答案

在这种情况下,捕获组无关紧要。函数str_extract将返回整个匹配,包括捕获组之前和之后的字符。

你必须使用lookbehind和lookahead来代替。它们的长度为零。

library(stringr)
str_extract(string = 'X2015.XML.Outgoing.pounds..millions.',
pattern = '(?<=X)\\d{4}(?=\\.)')
# [1] "2015"

此正则表达式匹配以 X 开头的四个连续数字。然后是 . .

关于r - stringr str_extract 捕获组捕获所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46787725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com