日期:2014-05-20  浏览次数:20713 次

练习下吧,正则非字符串判断
本帖最后由 AA5279AA 于 2013-10-18 17:20:51 编辑
提取规则:
从一段字符串当中,提取出所有
AA开头,BB结尾,AA和BB之间不能有CC的所有字符串。
比如,
gewgAAZBBggAAqCCBBggAACqCBBggAAqCqCBB
提取结果就是
Z
CqC
qCqC
这三个。
如果用正则搭配contains("CC")的话就简单多了,
如果只用正则呢?
正则?java

------解决方案--------------------
单针对这个字符串可以这样
public static void main(String[] args) {
String str = "gewgAAZBBggAAqCCBBggAACqCBBggAAqCqCBB";
Pattern p = Pattern.compile("AA(?!.CC)(.*?)BB");
Matcher m = p.matcher(str);
while(m.find()){
System.out.println(m.group(1));
}
}