我有以下行,
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
?如果有人能用很好的例子解释我会更好。正则表达式模式中包含 a
:
,那么为什么group(1)
结果会忽略它呢?第 1 组是否检测到括号内的所有单词?所以,如果我再多放两个括号,例如,
\\s*(\d*)(.*)
:那么,会有两组吗?group(1)
会退回(\d*)
零件并group(2)
退回(.*)
零件吗?
给出代码片段的目的是为了消除我的困惑。这不是我正在处理的代码。上面给出的代码可以以String.split()
更简单的方式完成。