首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在R中使用regex查找不带逗号的subtext?

如何在R中使用regex查找不带逗号的subtext?
EN

Stack Overflow用户
提问于 2017-03-07 14:37:19
回答 1查看 50关注 0票数 0

我有一个数据框如下所示:

代码语言:javascript
复制
result <- c('Ab1 : 256 ug/mL(R), Ab2(disk); 18mm(S)', 'Ab1 : 4 ug/mL(S), Ab2(disk); <2mm(R)')
df <- data.frame(result)

如果我想检查'(R)‘是否出现在'antibiotics1’之后,我应该怎么做?

代码语言:javascript
复制
grep("Ab1[[:print:]]*\\(R\\)", result)

给出

代码语言:javascript
复制
[1] 1 2

而我想要的结果是

代码语言:javascript
复制
[1] 1
EN

回答 1

Stack Overflow用户

发布于 2017-03-07 14:41:50

试试这个:

代码语言:javascript
复制
grep("Ab1[^(]*?\\(R\\)", result)
[1] 1

Ab1      match 'Ab1' literally
[^(]*?   match anything besides an opening parenthesis, non greedily
(R)      match '(R)' literally

在第二种情况下,如果不首先使用至少一个左括号,则不可能进行此匹配,因此只有第一个匹配。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42641781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档