regex 寻找一个非常具体的正则表达式,在两个破折号之间,破折号之后

jucafojl  于 2022-11-18  发布在  其他
关注(0)|答案(2)|浏览(129)

我试图找到一个正则表达式,将拉出两个破折号之间的信息,但破折号后已经存在。

I will list a few examples:

a = BRAND NAME - 34953 Some Information, PPF - 00003 - (3.355pz.) 300%
b = 893535 - MX LMESJFG - 01001 - ST2 | ls.33.dg - OK
c = 4539883 - AB05 - AG03J238B - | D.87.yes.4/3 - OK

What I want to pull out:
a = 00003
b = 01001
c = AG03J238B

我将非常感激任何帮助。

1l5u6lss

1l5u6lss1#

我们可以在这里使用基本字符串函数,并使用split()strip()

a = "BRAND NAME - 34953 Some Information, PPF - 00003 - (3.355pz.) 300%"
match = a.split("-")[2].strip()
print(match)  # 00003
zfciruhq

zfciruhq2#

有点晚了,但是下面的python正则表达式应该可以找到文件中每一行的所有匹配项(假设你使用的是python语言)。希望这对你有用。我不认为这只限于字符串拆分失败

import re
match = re.findall(r"(?=(-\s\w+\s-))", c)
print(match)

(?=())可以让你找到重叠的问题,在文档中查找前瞻和前瞻。2祝你好运。

相关问题