首页 > 解决方案 > 我可以在一个正则表达式上获得 2 个单独的单词吗?

问题描述

示例文本:

代码= 转到 65416541654 名称DHANA 1 期 2021 年 7 月 SN Hrg=314800 账单=313500 管理员=2500总账单=316000检查账单成功。余额=835606。

我需要提取Name DHANATotal Bill=316000。我可以使用单个正则表达式来做到这一点吗?

我现在的正则表达式是

/(name)( | :|:|=| =)(?P<sn>(.*?))(check bill)/i

但是通过这个正则表达式,我捕获了我什至不需要的其他东西。

DHANA for 1 period JUL 2021 SN Hrg=314800 Bill=313500 Admin=2500 Total Bill=316000

那么我可以只捕获 NAME 和 Total Bill 没有句号和任何介于两者之间的东西吗?

更多信息
- 名称可以多于一个单词 示例 Dhana Merdeka
- 如果可能,我需要捕获的 SN 将显示DHANA MERDEKA Total Bill=316000DHANA Total Bill=316000(如果名称只有一个单词)

标签: regexregex-lookaroundsregex-groupregex-negationregex-greedy

解决方案


推荐阅读