Python re.sub在一次调用中用不同的单词替换多个模式
我有一个这种格式的文件名Python re.sub在一次调用中用不同的单词替换多个模式,python,regex,Python,Regex,我有一个这种格式的文件名 remote_execute___jenkin%.java remtoe__plat_jenk.java 我想用一个替换所有出现的两个或三个, 我是这样做的 re.sub('_{2,3}','_',name) name = re.sub('_{2,3}','_',name) name = re.sub('\.java$','jav',name) 这将起作用,并将所有出现的两个或三个\u替换为单个\u。但是在相同的re.sub调用中,我需要用.jav替换.java
remote_execute___jenkin%.java
remtoe__plat_jenk.java
我想用一个
替换所有出现的两个或三个,
我是这样做的
re.sub('_{2,3}','_',name)
name = re.sub('_{2,3}','_',name)
name = re.sub('\.java$','jav',name)
这将起作用,并将所有出现的两个或三个\u
替换为单个\u
。但是在相同的re.sub
调用中,我需要用.jav
替换.java
我这样做是为了匹配.java
和下划线
\.java$|_{2,3}
但是在替换下划线
之后,如何在相同的re.sub
调用中替换.java
,而不使用另一个re.sub
\.java$|_{2,3}
现在我是这样做的
re.sub('_{2,3}','_',name)
name = re.sub('_{2,3}','_',name)
name = re.sub('\.java$','jav',name)
我想在一个re.sub
调用中执行上述操作嵌套re.sub
将起作用
name = re.sub('_{2,3}','_',re.sub('\.java$','jav',name))
嵌套的re.sub
将起作用
name = re.sub('_{2,3}','_',re.sub('\.java$','jav',name))
对于示例数据,您可以使用:
重新导入
name=“remote\u execute\u\u jenkin%.java”
打印(re.sub)(“”?=|)(?对于您可以使用的示例数据:
重新导入
name=“remote\u execute\u\u jenkin%.java”
打印(re.sub)(“(?=)|”)但这再次使用两个re.sub这应该有帮助,但这再次使用两个re.sub这应该有帮助