java正则表达式:group()详解
2009-07-30 18:52
525 查看
import
java.util.
*
;
import
java.util.regex.Matcher;
import
java.util.regex.Pattern;
public
class
Fenzhu
...
{
public
static
void
main(String[] args)
...
{
Pattern p
=
Pattern.compile(
"
(/d{3,5})([a-z]{2})
"
);
String s
=
"
123aa-34345bb-234cc-00
"
;
Matcher m
=
p.matcher(s);
while
(m.find())
...
{
System.out.println(
"
m.group():
"
+
m.group());
//
打印所有
System.out.println(
"
m.group(1):
"
+
m.group(
1
));
//
打印数字的
System.out.println(
"
m.group(2):
"
+
m.group(
2
));
//
打印字母的
System.out.println();
}
System.out.println(
"
捕获个数:groupCount()=
"
+
m.groupCount());
}
}
输出结果为
附:帮助文档的说明
group
public String group (int group)
返回在以前匹配操作期间由给定组捕获的输入子序列。
对于匹配器 m
、输入序列 s
和组索引 g
,表达式 m.
group(
g
)
和 s.
substring(
m.
start(
g
),
m.
end(
g
))
是等效的。
捕获组是从 1 开始从左到右的索引。组零表示整个模式,因此表达式 m.group(0)
等效于 m.group()
。
如果该匹配成功了,但指定组未能匹配输入序列的任何部分,则返回 null
。注意,某些组(例如,(a*)
)匹配空字符串。当这些的组成功匹配输入中的空字符串时,此方法将返回空字符串。
指定者:
接口
MatchResult
中的
group
参数:
group
- 此匹配器模式中捕获组的索引。
返回:
在以前的匹配期间组所捕获的子序列(可能为空);如果组未能匹配输入的部分,则返回 null
。
抛出:
IllegalStateException
- 如果没有尝试任何匹配,或者以前的匹配操作失败。
IndexOutOfBoundsException
- 如果在给定索引的模式中不存在捕获组。
groupCount
public int groupCount ()
返回此匹配器模式中的捕获组数。
根据惯例,零组表示整个模式。它不包括在此计数中。
任何小于等于此方法返回值的非负整数保证是此匹配器的有效组索引。
指定者:
接口
MatchResult
中的
groupCount
返回:
此匹配器模式中的捕获组数。
相关文章推荐
- java 正则表达式group方法详解 group() group(int n)
- java正则表达式的match.group(int group)参数详解
- Java 正则表达式详解
- Java正则表达式详解
- Java正则表达式详解(3)
- 详解Java正则表达式中Pattern类和Matcher类
- Java正则表达式详解
- Java 正则表达式详解
- java中正则表达式的详解
- 特殊字符导致用正则表达式进行字符串替换失败,Java replaceAll()方法报错Illegal group reference
- Java正则表达式详解
- Java正则表达式详解【从最简单讲起】
- java正则表达式详解
- Java正则表达式详解
- Java正则表达式的使用和详解(下)
- Java 正则表达式详解
- JAVA正则表达式:Pattern类与Matcher类详解(转)
- Java正则表达式详解
- Java正则表达式应用详解(2)
- Java有关正则表达式详解