3

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

String: String: String Number;

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

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

这样,我将使用 Matcher 获得以下输出:

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

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

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

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

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

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

4

1 回答 1

3

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

 ^(.*?):\s*(.*?):\s*([a-zA-Z]*\s+([0-9])?);$
于 2012-09-28T13:38:53.247 回答