求一个JAVA的正则表达式

yz_ivan 2007-04-05 11:54:58
一个字符串不等于 ‘001’,‘002’,‘003’,‘004’,‘005’中的一个任意一个

请用正则表达式直接写,而不要写成等于其中的某一个的正则表达式而后再在JAVA中取非,谢谢~
...全文
1953 38 打赏 收藏 转发到动态 举报
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
water_mys 2007-04-15
  • 打赏
  • 举报
回复
楼上的不对,HOHO~
长安宁 2007-04-10
  • 打赏
  • 举报
回复
.pattern = [^(00[1-5]{1})]
Mybeautiful 2007-04-10
  • 打赏
  • 举报
回复
blasterboy 2007-04-10
  • 打赏
  • 举报
回复
?!(aaa|bbb|ccc)
这个应该没问题了
nirack 2007-04-10
  • 打赏
  • 举报
回复
来学习
rainv 2007-04-09
  • 打赏
  • 举报
回复
先匹配是否等于下边的,
^(00[12345]){1}$
等的话取反就行.

我和zhaochunhui(没有烟抽的日子) 同一个方法.
water_mys 2007-04-09
  • 打赏
  • 举报
回复
楼主需要的是一个通用的处理这种类型的方法。鉴定完毕~HOHO
madong1978 2007-04-09
  • 打赏
  • 举报
回复
^[00[1-5]]
wtogether 2007-04-09
  • 打赏
  • 举报
回复
to daniel_kaka
楼主只是要判断不等于,而不是判断不包含
------------------------------------------------------------------
yz_ivan(傻瓜书) ( ) 信誉:96 Blog 加为好友 2007-4-5 13:26:44 得分: 0

不好意思我没说清楚,应该是 一个字符串不等于某些字符串

如同 (aaa|bbb|ccc)表示一个字符串是否等于 aaa 或 bbb 或 ccc
那么一个字符串不等于 aaa 也不等于 bbb 也不等于 ccc 应该怎么写呢?

------------------------------------------------------------------

daniel_kaka 2007-04-09
  • 打赏
  • 举报
回复
ls的验证一下var str = "0041";
wtogether 2007-04-09
  • 打赏
  • 举报
回复
对java的语法不熟悉,用js测试,你保存成html就可以看了

<script language="javascript">
var str = "007";
var reg = new RegExp("(?!001|002|003|004|005)^(.*)$");
var arr = str.match(reg);
if (arr)
{
alert(arr[0]);
}
else
{
alert("Pattern Not Matched");
}
</script>
fjwns 2007-04-07
  • 打赏
  • 举报
回复
长见识了
liuzhen1995 2007-04-06
  • 打赏
  • 举报
回复
试了一下,楼上的还不错,赞一个。。。。。
liuzhen1995 2007-04-06
  • 打赏
  • 举报
回复
[^(001)(002)(003)(004)(005)]
数据娃掘 2007-04-06
  • 打赏
  • 举报
回复
public boolean check(String s){
Pattern p=Pattern.compile("^[0]{2}[1-5]{1}$");
Matcher m=p.matcher(s);
if(m.matches()) return false;
else return true;
}
这样就可以了
daniel_kaka 2007-04-06
  • 打赏
  • 举报
回复
String regex = ".{1,2}|.{4}|0[^0].|[^0].{2}|00[^1-5]";
试试这个
daniel_kaka 2007-04-06
  • 打赏
  • 举报
回复
从正面考虑是很困难的,3位的还好处理,1位,2位,3位以上的这样处理就很困难的,建议楼主还是考虑排除吧
zhaochunhui 2007-04-06
  • 打赏
  • 举报
回复
我知道了,要用1个正则做好像比较困难吧~!
这个00[^1-5]只能满足 000,006,007,008,009如果是100或其他的就不行了
daniel_kaka 2007-04-06
  • 打赏
  • 举报
回复
我看到了,你那表达式是排除法,不就是相当于取非吗~~~
lz的意思应该是直接满足的表达式,而不是不满足的表达式
就是if(满足){返回true},你的恰好是if(不满足){返回真}
zhaochunhui 2007-04-06
  • 打赏
  • 举报
回复
to daniel_kaka()

我在上面已经给出了正则表述的形式了
加载更多回复(17)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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