Python 3.x python3正则表达式不限制仅替换到第一个计数
朋友们:(修订问题) 提前感谢您的时间和关注Python 3.x python3正则表达式不限制仅替换到第一个计数,python-3.x,regex,Python 3.x,Regex,朋友们:(修订问题) 提前感谢您的时间和关注 import re txt = "ear_name:zebra-wow-ear:-:4" x = re.sub(".*:", "", txt,1) print(x) 我期待着的输出 斑马哇耳朵:-:4 移除 耳朵名称: 从 耳朵名称:斑马哇耳朵:-:4 但是我得到的是 四, 我做错了什么 请帮忙 -N[对更新问题的回答] 您可以尝试以下方法: x = re.sub(r".*?:
import re
txt = "ear_name:zebra-wow-ear:-:4"
x = re.sub(".*:", "", txt,1)
print(x)
我期待着的输出
斑马哇耳朵:-:4
移除
耳朵名称:
从
耳朵名称:斑马哇耳朵:-:4
但是我得到的是
四,
我做错了什么
请帮忙
-N[对更新问题的回答] 您可以尝试以下方法:
x = re.sub(r".*?:", "", txt, 1)
这将进行非贪婪模式匹配
或者,尝试:
x = re.sub(r"[^:]*:", "", txt, 1)
两者都将替换直到(包括)第一个冒号(:
)的所有内容
请注意,第四个参数在这两种情况下都是多余的,因此您也可以删除它,它应该可以工作。这是否回答了您的问题?您可以使用
x=re.sub(r“^[^::*:”,“”,txt)