python - 如果存在特定单词,则从括号中删除文本
问题描述
如果括号内存在某些单词,我有两个字符串试图删除括号内的文本,对于 s1,我可以通过使用下面的正则表达式获得所需的输出,但对于 s2,相同的逻辑不起作用。不知道 ng 出了什么问题。
s1 = '((Xyz_lk eou ) some stuff (XYZ_l))) (vc vbn XyZ no.s)'
s2 = '( 100 % eou ) - 1h-imidazole 5,5- [ 1,1 -biphenyl ] -4,4 -diylbis [ 2 -- 2-pyrrolidinyl ] hydrochloride'
逻辑:
vc1 = re.sub(r"\s*\((\w|\s)*(eou|eou)(\w|\s)*\)", "", s1)
print(vc1)
vc2 = re.sub(r"\s*\((\w|\s)*(eou|eou)(\w|\s)*\)", "", s2)
print(vc2)
输出
vc1: (some stuff (XYZ_l))) (vc vbn XyZ no.s)
vc2: ( 100 % eou ) - 1h-imidazole 5,5- [ 1,1 -biphenyl ] -4,4 -diylbis [ 2 -- 2-pyrrolidinyl ] hydrochloride
解决方案
这能解决你的问题吗?
vc1 = re.sub(r"\([^())]*eou[^)]*\)", "", s1)
print(vc1)
==> ( some stuff (XYZ_l))) (vc vbn XyZ no.s)
vc1 = re.sub(r"\([^())]*eou[^)]*\)", "", s2)
print(vc1)
==> - 1h-imidazole 5,5- [ 1,1 -biphenyl ] -4,4 -diylbis [ 2 -- 2-pyrrolidinyl ] hydrochloride
推荐阅读
- angular - 在 ngAfterViewInit() 中合并两个 observable
- python - AttributeError:“列表”对象没有属性“lstrip”
- elm - index.html 中缺少 html 元素,除了 elm div - Elm 0.19
- python-3.x - 如何在python中对用分号分隔的列值求和
- sql - 如何在不使用主键的情况下避免在连接中填充多行?
- flutter - 在切换到新的 Widget 之前,如何在 StreamBuilder 中添加延迟?
- python-3.x - 如何修复 ssl_certification 错误,该错误由 ssl 包生成并在 restAPI 中使用
- java - 日期格式和分配
- python - django queryset 无法在 annotate 和 Sum 中运行函数
- list - 从记录集创建层次结构