正则表达式查找问题?

igyhi 2009-01-20 04:01:22
/**
* 查找
* @param pattern ORO正则式对象
* @param cont 目标内容
* @param num 查找数量
*/
public static String find(Pattern pattern,String cont,int num)
{
Perl5Matcher matcher = new Perl5Matcher();
PatternMatcherInput matcherInput = new PatternMatcherInput(cont);
int i=0;
while (matcher.contains(matcherInput,pattern)){
if(i>=num)break;
MatchResult result = matcher.getMatch();
i=i+1;
}
return result.toString();
}




文本:

ABC
11a
DEF
ABC
22b
DEF
ABC
33c
DEF


reg:

ABC[0-9A-Z]*DEF


rs:

ABC11aDEFABC22bDEFABC33cDEF


这个结果是正确的,但是没有取的更细致一些,我想要的是
ABC11aDEF
ABC22bDEF
ABC33cDEF

而实际运行的取值是第一个 ABC 和最后一个 DEF 中间的内容了
要怎么改才可以呢?
...全文
71 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dengchengwen 2009-01-21
  • 打赏
  • 举报
回复

B8%B4%BC%FE+1200149243_78669200.1232517635671925509460.jpg
Jacky_Zhu_1983 2009-01-20
  • 打赏
  • 举报
回复
顶...学习...
igyhi 2009-01-20
  • 打赏
  • 举报
回复
ABC[0-9a-zA-Z]+?DEF
igyhi 2009-01-20
  • 打赏
  • 举报
回复
文本:

ABC
11
DEF
ABC
22
DEF
ABC
33
DEF


reg:

ABC[0-9]*DEF


rs:

ABC11DEF
ABC22DEF
ABC33DEF


这样就没问题.

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧