问题描述
- 有点难的字符串的匹配问题
-
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。。
求大神解答啊!!!
解决方案
h[ello ]+o
解决方案二:
hells+o
替换
(?<=hells+o)s+|s+(?<hello)
解决方案三:
(?<=hells+o)s+|s+(?=hells+o)
解决方案四:
忘了说这个comments[]是一个字符串数组
解决方案五:
不好意思,忘了说,这个空格的位置是随机出现的 可以是he llo 或者 h ello等等。。
comments是一个字符串数组。。
时间: 2024-08-30 15:41:01