【发布时间】:2016-04-06 00:49:11
【问题描述】:
我搜索了与 Java 正则表达式相关的问题,并找到了有关 Pattern 和 Matcher 类的信息,以便为您提供围绕 reg-ex 匹配条件的文本组。
但是,我的要求不同。我希望提取正则表达式所代表的实际文本。
例子:
Input text: ABC 22. XYZ
Regular expression: (.*) [0-9]* (.*)
使用 Pattern 和 Matcher 类(或 Java 中的任何其他方式),我怎样才能获得文本“22.”?这是正则表达式表示的文本。
【问题讨论】:
-
不,不是。您提供的正则表达式匹配 整个 字符串,而不仅仅是其中的
␠22.␠部分。 -
@amrut:您的意思是问如何使用带有 Matcher/Patern 类的
(.*) [0-9]* (.*)模式获得22.?这是不可能的,因为在数字之后还需要一个点以及围绕该子模式的另一个捕获组(请参阅regex demo 和code demo)。请注意,您可以通过[0-9]+[.]pattern usingMatcher#find()获取它。 -
@WiktorStribiżew,是的。我错过了点。
-
令人印象深刻的响应时间,伙计! :)