У меня есть следующая строка,
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() гораздо проще.