Regex-排除中间模式

问题描述 投票:1回答:3

我正在努力排除或忽略某种模式。

在excel中,有很多时间戳,后跟一个ID

[0:02:25] 10652A

有时在这样混合时会出错

1 [0:03:23] 0652A

这里1属于0652A,所以应该是10652A.....

我如何完成我的代码,以便可以忽略这些错误(中间时间戳部分)以正确匹配ID?

这是我到目前为止所拥有的:

starting_digits = re.search(r"^(\d+)", prefix)
id_code = re.search(r"(\d{2,4}.{1,3}):", prefix).group(1)

谢谢你!

python regex excel matching
3个回答
0
投票

这里是删除方括号之间的所有文本的解决方案。

\ [。* \]


0
投票

代替查找ID的内容,您只需删除匹配\s*\[[\d:]+\]\s*的时间戳部分>

  • 任意数量的空间
  • 左方括号
  • 多个digits/:
  • 右方括号
  • 任意数量的空间
reg = r"\s*\[.*\]\s*"

prefix = "[0:03:23] 0652A"
print(re.sub(reg, "", prefix))  # 0652A

prefix = "1 [0:03:23] 0652A"
print(re.sub(reg, "", prefix))  # 10652A

0
投票

用途:

© www.soinside.com 2019 - 2024. All rights reserved.