常见的正则表达式 及 在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中的不同写法的主要内容,如果未能解决你的问题,请参考以下文章