我正在使用以下正则表达式来匹配所有出现的特殊数字:
^([0-57-9]|E)[12][0-9]{3}[A-Z]?[A-Z]([0-9]{3}|[0-9]{4})
让我们假设这个正则表达式匹配以下五个数字:
31971R0974
11957E075
31971R0974-A01P2
31971R0974-A05
51992PC0405
然后使用以下代码打印这些匹配项。这将打印列表中的每个项目,如果该项目包含破折号,则破折号之后的所有内容都将被丢弃。
def number_function():
for x in range(0, 10):
print("Number", number_variable[x].split('-', 1)[0])
但是,这将打印五行,其中第 1、3 和 4 行相同。
我需要您的帮助来编写一个脚本,将每个项目与所有以前的项目进行比较,并且仅在该项目不存在时才打印该项目。
因此,所需的输出将是以下三行:
31971R0974
11957E075
51992PC0405
编辑2:
我解决了!我只需要四处走动。这是成品:
def instrument_function():
desired = set()
for x in range(0, 50):
try:
instruments_celex[x]
except IndexError:
pass
else:
before_dash = instruments_celex[x].split('-', 1)[0]
desired.add(before_dash)
for x in desired:
print("Cited instrument", x)