我从以下字符串中提取了一些信息:
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;
等正则表达式。但这不起作用,我没有看到原因。
答案 0 :(得分:3)
你去哪里,我添加了一些额外的空白匹配,但这似乎有效,你错过了第二个:和下面的字符串之间的空白
^(.*?):\s*(.*?):\s*([a-zA-Z]*\s+([0-9])?);$