请教一个正则表示式的编写

xqzhu 2005-08-31 05:15:37
我想在一个字符串中,不能包含ab 这个词组。即单独a出现可以,单独b出现也可以,就是不能先a,紧跟着b。
...全文
131 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
HengHuan 2005-09-01
  • 打赏
  • 举报
回复
帮顶一下
DJadeChow 2005-08-31
  • 打赏
  • 举报
回复
cbds不匹配的
interhanchi 2005-08-31
  • 打赏
  • 举报
回复
只要打印出东西就说明字符串里面没有ab.
interhanchi 2005-08-31
  • 打赏
  • 举报
回复
你的什么意思?
String s = "cabds";结果也是对的呀.
没有打印出东西,意思就是没有匹配呀.
rainly1985 2005-08-31
  • 打赏
  • 举报
回复
自己写了一下,不对,关注
xqzhu 2005-08-31
  • 打赏
  • 举报
回复
import java.util.regex.*;
class fjs{
public static void main(String [] args){
String s= "cds"; ==》String s = "cabds";
Pattern pa = Pattern.compile("[^a][^b]*");
Matcher ma = pa.matcher(s);
if(ma.matches()){
System.out.println(ma.group());
}
}
}
就不行了。

我的意思是不能包含ab,不是第一是a出现。实际上a在字符串中,可以随便出现啊。
oyjdev 2005-08-31
  • 打赏
  • 举报
回复
都看点SDK帮助,F1一下什么都有了,“[^a]*”表示只要除了第一个字母不是a都可以,
"[^a][^b]*"表示第一个不能是a且第二个不能是b,就是你说的这种情况。
foochow 2005-08-31
  • 打赏
  • 举报
回复
汗..又是这个,楼上正解...
interhanchi 2005-08-31
  • 打赏
  • 举报
回复
import java.util.regex.*;
class fjs{
public static void main(String [] args){
String s= "cds";
Pattern pa = Pattern.compile("[^a][^b]*");
Matcher ma = pa.matcher(s);
if(ma.matches()){
System.out.println(ma.group());
}
}
}

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧