您的正则表达式中有一个小错误。在匹配第一个数字后,您使用了一个可选的连字符和第二个数字,但是在匹配第二个数字后,您没有使用可选的连字符和第三个数字。这导致正则表达式无法正确匹配目标字符串。

以下是一个修正后的正则表达式:

import re

pattern = r'^([0-9]+-?[0-9]+-?[0-9]+)\s+(S.+)'
text = '719-0901-000 SRK NOUGATBRAUN'

match = re.match(pattern, text)
if match:
    print(match.groups())
else:
    print('No match')

输出:

('719-0901-000', 'SRK NOUGATBRAUN')

这样,您应该能够正确匹配目标字符串并捕获两个分组。

Python 正则表达式匹配 719-0901-000 SRK NOUGATBRAUN:修复匹配问题

原文地址: https://www.cveoy.top/t/topic/f1L3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录