首页 > 解决方案 > 正则表达式匹配以预定义字符开头和结尾的字符串的首次出现

问题描述

我正在尝试匹配公司名称的第一次出现:EuroPayment Services S.R.L. 我试图通过添加使其不贪婪,?但没有成功。我究竟做错了什么?

  Name:          EuroPayment Services S.R.L.
  Address:         Str. Ion Cămpineanu, nr. 11, Bloc Union, etaj 8, camera 803
  Name:          General Motors S.R.L.
  Address:         Str. Ion Cămpineanu, nr. 11, Bloc Union, etaj 8, camera 803

另外,如何匹配公司名称的第二次出现?General Motors S.R.L

演示

标签: regexinvoice2data

解决方案


正则表达式捕获名字:

Name:\s+(.*)[\s\S]*

在此处运行示例。

您还可以通过此捕获第 n 个名称(只需将基于 0 的索引部分更新{n}为您的目标,例如{4}获取第 5 个名称:

  • 名称 1:(?:Name:[\s\S]+?){0}Name:\s+(.*)[\s\S]*
  • 名称 2:(?:Name:[\s\S]+?){1}Name:\s+(.*)[\s\S]*
  • 名称 3:(?:Name:[\s\S]+?){2}Name:\s+(.*)[\s\S]*
  • 名称 4:(?:Name:[\s\S]+?){3}Name:\s+(.*)[\s\S]*
  • 等等...

推荐阅读