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

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个回答

h[ello ]+o

uniquewonderq
InvQ 应该是h[ello\\s]+o
4 年多之前 回复
uniquewonderq
InvQ 点赞!!!
4 年多之前 回复
 hell\s+o

替换

 (?<=hell\s+o)\s+|\s+(?<hello)
 (?<=hell\s+o)\s+|\s+(?=hell\s+o)
uniquewonderq
InvQ 忘了说,这个空格的位置是随机出现的可以是he llo 或者 h ello
4 年多之前 回复

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

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问