常见的正则表达式 及 在JS和Java中的不同写法

Posted 鸣蜩铃兰香

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常见的正则表达式 及 在JS和Java中的不同写法相关的知识,希望对你有一定的参考价值。

在学习过程中,相信大家会经常碰到正则表达式,然后每次需要就上网查,多少有点不方便,所以这里在借鉴了其他一些博主的前提下(谢谢谢谢),总结了一些自己认为比较常用的正则表达式。(为了方便可以收藏的哦,哈哈哈,我不介意)

验证日期 YYYY-MM-DD:

/^(\\d1,4)(-|\\/)(\\d1,2)\\2(\\d1,2)$/

/^(\\d4)[-\\/](\\d1|0\\d1|1[0-2])([-\\/](\\d1|0\\d1|[1-2][0-9]|3[0-1]))*$/

验证邮箱:

/^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$/

/^([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]2,4)+$/

验证字母:

/^[A-Za-z]+$/

验证整数:

/^[-+]?\\d*$/

验证非负整数:

/^\\d+$ / 或 /^[1-9]\\d*|0$/

验证数字:

/^-?\\d*\\.?\\d+$/

验证密码强度(大小写英文加数字及特殊符号):

/^.*(?=.6,)(?=.*\\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/

验证中文、英文、数字但不包括下划线等符号:

/^[\\u4E00-\\u9FA5A-Za-z0-9]+$/ 或 /^[\\u4E00-\\u9FA5A-Za-z0-9]2,20$/

验证英文和数字:

/^[A-Za-z0-9]+$/ 或 /^[A-Za-z0-9]4,40$/

验证小数:

/^[-\\+]?\\d+(\\.\\d+)?$/

验证身份证:

 /^\\d6(18|19|20)?\\d2(0[1-9]|1[12])(0[1-9]|[12]\\d|3[01])\\d3(\\d|X)$/
 
/(^\\d15$)|(^\\d17(x|X|\\d)$)/

验证手机号:

/^1[3456789]\\d9$/

验证中文:

/^[\\u0391-\\uFFE5]+$/

验证中文、英文、数字包括下划线:

/^[\\u4E00-\\u9FA5A-Za-z0-9_]+$/

验证非正整数:

/^-[1-9]\\d*|0$/ 或 /^((-\\d+)|(0+))$/

验证URL

/(^#)|(^http(s*):\\/\\/[^\\s]+\\.[^\\s]+)/

下面来说明一下在一些不同的环境中如何使用正则

JS正则表达式的使用用例:

注意:要以斜杆表示开始和结束

	var str = document.getElementById("str").value.trim();//获取指定id的内容,去除空格
	var regex = /^[a-zA-Z]+$/; // 直接量正则表达式
	if(!regex.test(str))
		alert("请输入正确的英文字母!");
	

Java正则表达式的使用用例:

注意:Java不需要斜杆开始和结束,然后" \\ "要打两个啊!!!

Pattern p=Pattern.compile("\\\\d+");
Matcher m=p.matcher("22bb23");
m.matches();//返回false,因为bb不能被\\d+匹配,导致整个字符串匹配未成功.
Matcher m2=p.matcher("2223");
m2.matches();//返回true,因为\\d+匹配到了整个字符串

Pattern.matcher(CharSequence input)返回一个Matcher对象

Matcher类的构造方法是私有的,不能随意创建,只能通过Pattern.matcher(CharSequence input)方法得到该类的实例。

Pattern类只能做一些简单的匹配操作,要想得到更强更便捷的正则匹配操作,那就需要将Pattern与Matcher一起合作。

Matcher类提供了对正则表达式的分组支持,以及对正则表达式的多次匹配支持。

嗯差不多就是这样了,如果哪里有错的可以在评论区指出来哦,一起进步!( •̀ ω •́ )✧

(对了,mysql中怎么使用正则呢?好像就加个关键字 REGEXP就可以了吧?……)

以上是关于常见的正则表达式 及 在JS和Java中的不同写法的主要内容,如果未能解决你的问题,请参考以下文章

notepad++匹配汉字的正则表达式与Java中的为啥不同?

正则表达式没有想象中的那么难

js之数据类型(对象类型——引用类型——正则)

js常见正则表达式验证及方法

js之数据类型(对象类型——构造器对象——正则)

js常见正则表达式验证及说明