首页 > 解决方案 > 正则表达式将组加入另一个

问题描述

早上好,

我必须提供一个使用正则表达式的解析工具。该工具是用java编写的。它可以像这样简单地喂食:

表达(。*)

方法:查找表达式并将组 1(或 2 等)的内容保存到数据库列中。

现在我必须解析收据,其中一些在表达式 1 中具有所需内容,而在表达式 2 中具有其他内容。

所以我这样寻求: expression1(. )|expression2(. )

所以两个表达式都找到了。

问题是,如果一个不为空,该工具只能保存一个 groupX,而不是 group1 或 group2。

有没有可能在表达式周围包裹一些东西,以便结果总是出现在 groupX 中?

标签: regex

解决方案


您可以对单个捕获组使用交替,例如

(?:expression1|expression2)(.*)

推荐阅读