我确定以前曾问过这样的问题,但我无法找出搜索参数来找到答案。我试图替换非单词字符(或连续的多个非单词),而不是替换字符串末尾的单词。例如,以下内容:
Corynebacterium sp JB4.
,Arthrobacter arilaitensis re117, CIP 108037
和Microbacterium sp. JB110
应该成为:
Corynebacterium_sp_JB4
,Arthrobacter_arilaitensis_re117_CIP_108037
和Microbacterium_sp_JB110
在试图找出一种不在第一项中选择最后一段时间的方法之后,我意识到我实际上还需要2次操作,一次用空字符串替换尾随的非字字符,另一种用来替换使用"_"
的其他字符,因此以下内容适用于python:
re.sub(r'\W+', "_", re.sub(r'\W$', "", string))
但是我想知道,如果我想让第一个项目以Corynebacterium_sp_JB4.
结尾,是否有办法做到这一点?我在http://www.regexr.com/上玩了几个不同的东西,但我找不到解决方案。认为它可能与预测有关,但是(?!$)似乎没有用(或者我做错了,我还没有使用过预测选项之前)。