【发布时间】:2013-05-07 05:30:22
【问题描述】:
我有以下行,
typeName="ABC:xxxxx;";
我需要获取单词ABC,
我写了如下代码sn-p,
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)将返回(.*)部分?
代码 sn-p 是为了消除我的困惑。这不是我正在处理的代码。上面给出的代码可以用String.split() 以更简单的方式完成。
【问题讨论】: