uniquewonderq
Think_Bigger
2015-09-12 09:23
采纳率: 75%
浏览 1.8k

有点难的字符串的匹配问题

import java.util.regex.Matcher;
import java.util.regex.Pattern;
这两个类,然后。
Pattern p=Pattern.compile(regex);
Matcher m;
for(int j=0;j<comments.length;j++){
m=p.matcher(comments[j]);
if(m.find()){
System.out.println(m.group());
}
}
我想匹配目标文本中的文字,如果regex=(hello)+;
但是只能匹配到字串含有hello的,然而!!!现在要求是:怎么能够匹配得到含有hell o(hell(空格)o),就是在hell 和o含有空格
的这样的字符串啊。

当然,
Pattern p=Pattern.compile(regex);
Matcher m;
for(int j=0;j<comments.length;j++){
m=p.matcher(comments[j].replaceAll("\s",""));
if(m.find()){
System.out.println(m.group());
}
}

这样做是可以输出去掉空格的hello,但是,现在要求,输出的是含空格的hell o而不是将空格去掉的hello。。

求大神解答啊!!!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • havedream_one
    havedream_one 2015-09-12 09:44
    已采纳

    h[ello ]+o

    点赞 评论
  • caozhy
     hell\s+o
    

    替换

     (?<=hell\s+o)\s+|\s+(?<hello)
    
    点赞 评论
  • caozhy
     (?<=hell\s+o)\s+|\s+(?=hell\s+o)
    
    点赞 评论
  • uniquewonderq
    Think_Bigger 2015-09-12 09:27

    忘了说这个comments[]是一个字符串数组

    点赞 评论
  • uniquewonderq
    Think_Bigger 2015-09-12 09:52

    不好意思,忘了说,这个空格的位置是随机出现的 可以是he llo 或者 h ello等等。。
    comments是一个字符串数组。。

    点赞 评论

相关推荐