首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用正则表达式在特定单词后面查找缩写

使用正则表达式在特定单词后面查找缩写
EN

Stack Overflow用户
提问于 2020-12-21 21:21:16
回答 1查看 62关注 0票数 2

我的目标是识别出现在@PROG$之后的缩写词,并将其更改为@PROG$。(例如,阿里-> @PROG$)

输入

背景(未指定):我们先前的研究表明@PROG$ (ALI)和C-反应蛋白(CRP)是可手术性非小细胞肺癌(NSCLC)患者独立的重要预后因素。

输出

背景(未指定):我们先前的研究表明,@PROG$ @PROG$和C-反应性蛋白(CRP)是可手术性非小细胞肺癌(NSCLC)患者独立的重要预后因素。

我试过这样的re.findall('(\(.*?\))', s),它给了我所有的缩略语。这里有什么帮助吗?我需要修理什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-21 21:37:57

您可以使用re.sub解决方案,如

代码语言:javascript
复制
import re
s = "Background (UNASSIGNED): Previous study of ours showed that @PROG$ (ALI) and C-reactive protein (CRP) are independent significant prognostic factors in operable non-small cell lung cancer (NSCLC) patients."
print( re.sub(r'(@PROG\$\s+)\([A-Z]+\)', r'\1@PROG$', s) )
# => Background (UNASSIGNED): Previous study of ours showed that @PROG$ @PROG$ and C-reactive protein (CRP) are independent significant prognostic factors in operable non-small cell lung cancer (NSCLC) patients.

Python演示。判断力

代码语言:javascript
复制
(@PROG\$\s+)\([A-Z]+\)

regex演示。详细信息:

  • (@PROG\$\s+) - Group 1 (\1指替换模式中的组值):@PROG$和一个或多个空白空间
  • \( -a ( char
  • [A-Z]+ -一个或多个大写ASCII字母(用[^()]*替换以匹配除()以外的括号中的任何内容)
  • \) -a ) char.
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65400118

复制
相关文章

相似问题

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