跪求正则表达式

wangjintao110 2013-01-09 03:11:10
正则表达式能电话号码 15807911238

从第四位到第七位不能包含“0791"

如15807921238 这个可以通过
15807911238 这个不能通过

咋写啊?158((\\d{4})(?!0791))\\d{4}这样写不对、、
...全文
113 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sust2012 2013-01-10
  • 打赏
  • 举报
回复
^\\d{3}[^0791]{4}\\d{4}$
suciver 2013-01-09
  • 打赏
  • 举报
回复
一次解决正则 s.matches("158(?!0791)\\d{8}")
Inhibitory 2013-01-09
  • 打赏
  • 举报
回复
String reg = "\\d{3}[^0791]{4}\\d{4}";
t2xingzhe 2013-01-09
  • 打赏
  • 举报
回复
引用 2 楼 is_zhoufeng 的回复:
Java code?123456789101112public static void main(String[] args) { String str = "15807911238"; String reg = "\\d{3}0791\\d{4}"; // true 表示不符合要求 false表示符合要求 bo……
这个不行,考虑的太简单了,aaa0791bbbb这样岂不是也可以了
引用 3 楼 suciver 的回复:
最简单的方法两次联合判断就可以了 s.matches("158\\d{8}")&&!s.substring(3,7).matches("0791") 匹配158开头的11位数字并且4,7位不能是0791
这个靠谱
suciver 2013-01-09
  • 打赏
  • 举报
回复
最简单的方法两次联合判断就可以了 s.matches("158\\d{8}")&&!s.substring(3,7).matches("0791") 匹配158开头的11位数字并且4,7位不能是0791
_jerrytiger 2013-01-09
  • 打赏
  • 举报
回复

	public static void main(String[] args) {
		
		String str = "15807911238";
		
		String reg = "\\d{3}0791\\d{4}";
		
		// true 表示不符合要求    false表示符合要求
		boolean result = str.matches(reg);
		
		System.out.println(result);  
		
	}
失落夏天 2013-01-09
  • 打赏
  • 举报
回复
/^158[1234567890((?!0791)]){4}[1234567890]{4}$/ 自己尝试着写的,慎用。。 也在学习中。

81,092

社区成员

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

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