R 从x的第一次出现到y的第n次出现的捕获
我有一个正则表达式的问题,这个问题似乎可以解决,但我似乎无法得到正确的答案 给出如下所示的字符串:R 从x的第一次出现到y的第n次出现的捕获,r,regex,gsub,R,Regex,Gsub,我有一个正则表达式的问题,这个问题似乎可以解决,但我似乎无法得到正确的答案 给出如下所示的字符串: id1234|a; b; c; d id5678|a; b; e; f id9012|a; g; h; i 我试图从管道中捕捉到分号的固定出现,直觉上,我希望出现如下情况: "(?<=\\|)(([^;]*;){1}[^;]*).*" 从行首到第二个分号进行选择 认为: (?<=\|)(([^;]*;){1}[^;]*).* (?您之所以会收到错误,是因为您
id1234|a; b; c; d
id5678|a; b; e; f
id9012|a; g; h; i
我试图从管道中捕捉到分号的固定出现,直觉上,我希望出现如下情况:
"(?<=\\|)(([^;]*;){1}[^;]*).*"
从行首到第二个分号进行选择
认为:
(?<=\|)(([^;]*;){1}[^;]*).*
(?您之所以会收到错误,是因为您使用的是回溯,(?[1]“a;b”“a;b”“a;g”“a;j”
(?<=\|)(([^;]*;){1}[^;]*).*
a <- c("id1234|a; b; c; d",
"id5678|a; b; e; f",
"id9012|a; g; h; i",
"id3456|a; j; k; l")
b <- gsub(pattern = "^(([^;]*;){1}[^;]*).*",
replacement = "\\1",
x = a)
b
[1] "id1234|a; b" "id5678|a; b" "id9012|a; g" "id3456|a; j"
c <- gsub(pattern = "(?<=\\|)(([^;]*;){1}[^;]*).*",
replacement = "\\1",
x = a)
Error in gsub(pattern = "(?<=\\|)(([^;]*;){1}[^;]*).*", replacement = "\\1", :
invalid regular expression '(?<=\|)(([^;]*;){1}[^;]*).*', reason 'Invalid regexp'
In addition: Warning message:
In gsub(pattern = "(?<=\\|)(([^;]*;){1}[^;]*).*", replacement = "\\1", :
TRE pattern compilation error 'Invalid regexp'