我有以下这行代码:
typeName="ABC:xxxxx;";
我需要获取单词ABC
,
我写了以下的代码片段,
Pattern pattern4=Pattern.compile("(.*):");
matcher=pattern4.matcher(typeName);
String nameStr="";
if(matcher.find())
{
nameStr=matcher.group(1);
}
所以如果我输入 group(0)
我会得到 ABC:
,但如果我输入 group(1)
,那么它就是 ABC
。因此我想知道:
0
和1
是什么意思?如果有好的例子可以解释,那就更好了。正则表达式模式中包含一个
:
,为什么group(1)
的结果不包括它?是因为组1检测到括号内的所有单词吗?那么,如果我再加两个括号,例如:
\\s*(\d*)(.*)
,那么会有两个组吗?group(1)
将返回(\d*)
部分,而group(2)
将返回(.*)
部分吗?
给出代码片段是为了澄清我的困惑。这不是我正在处理的代码。上面给出的代码可以使用 String.split()
更简单地完成。