pattern为:"U([A-Z]([a-z])*)+" 或 "U([A-Z]{1}([a-z])*)+" 或 "U{1}([A-Z]{1}([a-z])*)+" 时"UnitTransaction"都能匹配成功只有pattern为"U^[a-z]([A-Z]([a-z])*)+"时才能匹配不成功这是为什么呢?"UnitTransaction"在"U([A-Z]([a-z])*)+"中nit被哪一部分匹配了呢?
正则部分代码:
其中
patten="(U)(([A-Z])([a-z])*)+"
content="UnitTransaction" Pattern pattern = Pattern.compile(patten, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(content);
int matchNum=0;
while (matcher.find())
{
matchNum++;
System.out.println("=========");
for(int i=0;i<matcher.groupCount();i++)
System.out.println(matcher.group(i));
System.out.println("=========");
}输出:
=========
UnitTransaction
U
nitTransaction
n
=========
正则部分代码:
其中
patten="(U)(([A-Z])([a-z])*)+"
content="UnitTransaction" Pattern pattern = Pattern.compile(patten, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(content);
int matchNum=0;
while (matcher.find())
{
matchNum++;
System.out.println("=========");
for(int i=0;i<matcher.groupCount();i++)
System.out.println(matcher.group(i));
System.out.println("=========");
}输出:
=========
UnitTransaction
U
nitTransaction
n
=========
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货