【问题标题】:R: Regex error despite it working in regex 101 [duplicate]R:尽管它在正则表达式 101 中工作,但正则表达式错误 [重复]
【发布时间】:2018-02-21 08:54:01
【问题描述】:

这是我的第一个问题(我还在学习 R),如果问题太愚蠢,我提前道歉。
我试图弄清楚如何制作一个捕获第一个字符串但 not 第二个字符串的正则表达式。

字符串

我在 regex101 上进行了测试,我想出的最好的就是这个(它适用于 regex101)。但是,当我尝试在 R 中输入它时,会出现以下错误:

"(^p5[0-9].*XYX.*cancer)(?!.*ttt)"
grep(needle, haystack, ...) 中的错误: 无效的正则表达式'mz|(^p5[0-9].*XYX.*cancer)(?!.*ttt)',原因'无效的正则表达式'

抱歉之前不清楚,确切的代码是:

ctc_gastric_df

【问题讨论】:

  • 您的strings 中缺少引用

标签: r regex grepl


【解决方案1】:

我们需要perl = TRUE 使 OP 代码中的正则表达式能够正常工作而不会出现错误

grep("(^p5[0-9].*XYX.*cancer)(?!.*ttt)", strings, perl = TRUE)

【讨论】:

  • 非常感谢,很抱歉帖子是重复的,我搜索了高低的答案,但我使用了错误的术语。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-05
相关资源
最近更新 更多