首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python中的命名正则表达式发出

使用Python中的命名正则表达式发出
EN

Stack Overflow用户
提问于 2020-04-08 13:35:03
回答 1查看 40关注 0票数 0

我正在做一个项目,在这个项目中,我需要将下面的字符串分成多个组。我使用命名正则表达式分成3组:

  1. InvoiceNumber
  2. 描述
  3. InvoiceAmount

671217无名氏诉莫妮卡盖勒,等。55.50美元涉及:乔伊·特诺蒂亚尼公司档案# ABCDEF-123索赔No# 1237474

我使用以下正则表达式:

代码语言:javascript
复制
search = '(?P<InvoiceNumber>\d+)\s+(?P<Description>.*?)\s+(?P<InvoiceAmount>.*?)\s+'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-08 14:13:43

你可以用

代码语言:javascript
复制
(?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]*匹配一个非空格字符,以便至少有一个描述和后面的所有字符

  • )紧群

Regex演示

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61101989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档