首页 > 解决方案 > 如何通过正则表达式从字符串上的多个相同字符中找到一个字符

问题描述

示例:尊敬的先生,No. Employee is (PM/23333999) 10) 我想谢谢你。(MA/IERPER) 我想辞职。

你好,先生,

正则表达式:\d{1,2}+(?:(\)))

结果:10)99))

我可以使用什么正则表达式模式从拆分字符串中仅获取结果“ 10) ”?

标签: javaregex

解决方案


您的模式等于\d{1,2}+\),即您的模式消耗和返回)

您可以使用

\d{1,2}(?=\))

where(?=\))是一个积极的前瞻,它需要存在)但不会在比赛中返回。另外,请注意,{1,2}+此处的行为与非占有性的贪婪{1,2}量词相同(因为没有其他方法可以匹配 之前的字符串)),因此无需添加+.

请参阅正则表达式演示

在 Java 中,将其声明为

String regex = "\\d{1,2}(?=\\))";

推荐阅读