首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于匹配括号内的数值的正则表达式

用于匹配括号内的数值的正则表达式
EN

Stack Overflow用户
提问于 2017-04-26 15:50:07
回答 3查看 1.7K关注 0票数 1

我正在尝试创建一个正则表达式,以匹配括号内的每个数值。

这里有一个regex101的链接,我一直在用它进行测试。

例如,使用字符串:

目前还没有批准的直接针对NRAS激活突变的治疗方法。N-Ras活化可预测Raf/MEK/ERK、PI3K/Akt等下游通路(23274911、22392911、21993244)的敏感性。MEK抑制剂曲美替尼和协比美替尼(与vemurafenib联合)已被FDA批准用于BRAFV600E和V600K突变型黑色素瘤,目前正在固体肿瘤和血液恶性肿瘤(22663011,25265494)的临床试验中进行研究。一些临床前研究表明,MEK抑制剂与其他下游分子抑制剂(如PI3K、eIF4A和Plk1 )的结合,在体外和体内均能协同抑制NRAS突变型黑色素瘤( (19492075) )。

我想匹配以粗体显示的每一个值。我目前正在使用以下内容

代码语言:javascript
复制
Pattern citationPattern = Pattern.compile("(.?\()(\\d+)");
        Matcher match = citationPattern.matcher(treatmentApproach);

并且能够站起来匹配括号内的每个第一个值。如何将其扩展到括号内有多个值的情况。例如(22663011,25265494)。谢谢你的帮忙!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-04-26 15:57:06

我只需要从文字()之间提取匹配。就像,

代码语言:javascript
复制
Pattern citationPattern = Pattern.compile("\\((.*?)\\)");
Matcher match = citationPattern.matcher(treatmentApproach);
while (match.find()) {
    System.out.println(match.group());
}
票数 2
EN

Stack Overflow用户

发布于 2017-04-26 16:03:13

我会使用这样的模式:[\(|, ](\d+)[, \)]

在这里看到它的作用:https://regex101.com/r/hoggh0/1

这可以在[open brackets or ", "][close brackets or ", "]之间找到任何数字。

如果文本中的数字介于注释之间,而不是放在括号之间,并且希望将它们排除在外,这将是唯一的解决办法。这将包括他们。

票数 1
EN

Stack Overflow用户

发布于 2017-04-26 16:00:46

"(\([0-9]+([, ]*[0-9])*\))"可能是你所需要的。至少它在这里起作用了:https://regex101.com/r/tkQP8z/5

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

https://stackoverflow.com/questions/43639011

复制
相关文章

相似问题

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