有什么建议为什么我的正则表达式不起作用?

时间:2012-09-28 13:33:39

标签: java regex

我从以下字符串中提取了一些信息:

String: String: String Number;

现在我正在使用以下正则表达式来获取参数:

(.*?):(.*?):(.*?);$

这样我就会得到一个Matcher以下输出:

group(1) = String
group(2) = String
group(3) = String Number

如果我想要数字,我需要在第3组的输出上执行另一个正则表达式,如下所示:

([a-zA-Z]* ?([0-9])?$)

使用字符串String Number,这会给我和输出像

group(1) = String
group(2) = Number

我考虑过将两个步骤结合起来,并在(.*?):(.*?):([a-zA-Z]* ?([0-9])?);$ - 字符串上使用String: String: String Number;等正则表达式。但这不起作用,我没有看到原因。

1 个答案:

答案 0 :(得分:3)

你去哪里,我添加了一些额外的空白匹配,但这似乎有效,你错过了第二个:和下面的字符串之间的空白

 ^(.*?):\s*(.*?):\s*([a-zA-Z]*\s+([0-9])?);$