我正在做一个项目,在这个项目中,我需要将下面的字符串分成多个组。我使用命名正则表达式分成3组:
671217无名氏诉莫妮卡盖勒,等。55.50美元涉及:乔伊·特诺蒂亚尼公司档案# ABCDEF-123索赔No# 1237474
我使用以下正则表达式:
search = '(?P<InvoiceNumber>\d+)\s+(?P<Description>.*?)\s+(?P<InvoiceAmount>.*?)\s+'发布于 2020-04-08 14:13:43
你可以用
(?P<InvoiceNumber>\d+)\s+.*?(?P<InvoiceAmount>\$\d+(?:\.\d+)?)\s+(?P<Description>\S[\S\s]*)那就匹配了
(?P<InvoiceNumber>命名为InvoiceNumber \d+匹配1+数字
)紧群\s+.*?匹配1+空格字符,那么除空格字符以外的任何字符都不贪婪。(?P<InvoiceAmount>命名为InvoiceAmount \$\d+(?:\.\d+)?将发票金额与可选的十进制部分匹配。
)紧群\s+匹配1+空格字符(?P<Description>命名组描述\S[\S\s]*匹配一个非空格字符,以便至少有一个描述和后面的所有字符
)紧群https://stackoverflow.com/questions/61101989
复制相似问题