微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

匹配一组字符或什么都不匹配的正则表达式

如何解决匹配一组字符或什么都不匹配的正则表达式

我有一组文本输入:

  • 1 240R 2021 年 4 月 15 日 240 升 Sulo Bin 回收 - Dkt#11053610 O/N:一个牙科 $10.00。
  • 1 1.5cm 2021 年 4 月 6 日 1.5m 混合回收箱 - Dkt#11028471 $18.00。
  • 1 1.5m 2021 年 4 月 12 日服务 1.5m 前提升垃圾箱 - Dkt#11028421 $24.00
  • 1 660 2021 年 4 月 14 日 660 升后升降箱 - Dkt#11156377 O/N:您的汽车售价 22.50 美元

我正在尝试正则表达式:PCRE(PHP

^(\d+) [^\$]+ (\d+ \w+ \d+) (\d.+ \w.+) \S (Dkt\S\d+)[^\$]+ (\$.*)$

解析上述内容但是,我无法从上面的列表中解析“O/N:ONE DENTAL”或“O/N:YOUR CAR SOLD”

如果在Dkt#xxxx之后有东西也会被解析或者什么都不解析,我该怎么办

解决方法

因为你已经有了这个模式,我对它做了一些轻微的修改。这是基于提供的示例字符串,如果您有用于匹配的规则的其他变体,则可能需要进一步修改。

Example

^(\d) (\S+) (\d{2} \w{3} \d{4}) (.*)\s+-\s(Dkt\S+)\s*(.*?)\s*(\$\d+(?:\.\d+)?)\.?\s*$

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。