import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class yige {
public static void main(String[] args) {
Pattern p = Pattern.compile("\\ba+b+\\b");
String s = "aaa (ab jj2rjo aab 2ii oo8d 7haohsie abb";
Matcher m = p.matcher(s);
while (m.find()) {
p(m.group());
}
}
public static void p(Object o){
System.out.print(o+" ");
}}//答案:ab aab abb
//我想问一下这个(ab中的ab竟然能匹配 说明(是单词边界,如何才能将(ab整个读入判断;
//从而把(ab排除在外
这中景况下; \\ba+b+\\b 不合适! 该如何修改呢?
Pattern p = Pattern.compile("\\b(?<!\\()a+b+\\b");
String s = "aaa (ab jj2rjo aab 2ii oo8d 7haohsie abb";
Matcher m = p.matcher(s);
while (m.find()) {
System.out.println(m.group()+" "+"start:"+m.start()+"end:"+m.end());
}
这里是区别!! 这一小段 有什么作用啊?解释一下好吗?
单词的开头不能是(符号