正则表达式实战
来源:互联网 发布:php的魔术方法 编辑:程序博客网 时间:2024/06/05 05:07
先推荐一个正则学习的地址,这个博客讲的非常清晰,http://www.bejson.com/knownjson/regexJiaocheng/。我写的这篇主要是为了记录在工作中非常实用的一些正则表达式。
先简单介绍一下常用的一些字符含义:
^ 正则匹配的开始
$ 正则匹配的结尾
* 匹配出现0次或多次
+ 匹配出现1此或多次
? 匹配出现0此或多次
x|y 匹配x或y
{n} 匹配出现n次
{n,} 匹配出现n次以上
{n,m} 匹配出现n到m次
[xyz] 匹配字符集
[^xyz] 不匹配这个字符集
其他一些就不在这里多说了可以查看上边忘记中的介绍。
在JS脚本中,可以使用RegExp来创建一个正则对象,然后进行test,例:
var reg = new RegExp('^[a-zA-Z0-9]+$');//匹配英文大小写以及数字alert(reg.test("sdf123-"));//输出falseJS脚本中第二种创建方式是使用字符串常量方式来创建,例:
var reg = /^[a-zA-Z0-9]*$/g;alert(reg.test("123"));//输出为true在java中,也有两种使用正则的方式,第一种是利用Pattern对象,使用Pattern.compile类生成一个正则对象然后利用matcher类匹配字符串,第二种是直接使用String中的matches方法类匹配字符串,例:
Pattern pattern = Pattern.compile("[a-zA-Z0-9]+$");//匹配英文大小写以及数字System.out.println(pattern.matcher("123asd-").matches());//输出falseString str = "123asd";System.out.println(str.matches("^[a-zA-Z0-9]+$"));//输出true
下面列举一下工作中用到的正则表达式:
var reg = ^[a-zA-Z0-9]{1,32}$;//1-32位因为字母、数字、不区分大小写var reg = ^[a-zA-Z0-9_\\u4e00-\\u9fa5]{1,200}$;//1-200位字母、数字、下划线、中文,不区分大小写,也可以直接使用\wvar reg = ^(\w)+(\.\w+)*@(\w)+((\.\w+)+)$;//匹配邮箱,例:www.139@139.com,<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px;">139@139.com都能验证通过</span>var reg = ^[1][3578]\\d{9}$;//匹配手机号,1开头的,第二位为3、5、7、8的11位手机号var reg = ^(((\+?086)|(\+?86)){1}\-)?([0]?[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$;//匹配座机号,例:+086-024-97251111,<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px;">024-97251111,</span><span style="font-size: 12px; font-family: Arial, Helvetica, sans-serif;">97251111都能验证通过</span>var reg = ^\d{1,7}(\.\d{1,2})?$;//匹配小数点前7位,小数点后最多两位后续不断更新....
0 0
- 正则表达式实战
- 正则表达式实战
- 正则表达式实战
- Python正则表达式实战
- Oracle正则表达式实战
- 正则表达式 实战
- PHP正则表达式实战
- 正则表达式实战
- 正则表达式实战
- Oracle正则表达式实战
- 经典JavaScript正则表达式实战
- 经典JavaScript正则表达式实战
- 经典JavaScript正则表达式实战
- 经典JavaScript正则表达式实战
- 经典JavaScript正则表达式实战
- php正则表达式—实战
- 经典JavaScript正则表达式实战
- 经典JavaScript正则表达式实战
- Android app 运行时按了Home键,进入到另一程序,再调用原来程序
- PHP扩展函数返回字符串一定需要使用spprintf吗?
- git 中fetch+rebase工作流
- A-Playing with Paper
- Memory Analysis for Android Applications
- 正则表达式实战
- Android 中tomcat搭建本地服务器 实现apk更新下载
- iOS 纯代码适配iPhone6,6p
- java文本编辑器插件kinderditor用法解决本地图片上传不能用
- KM算法求带权二分图的最大匹配(完备匹配)
- LocalBroadcastManager 使用小结
- RxJava 详解
- spark的StorageLevel源码分析
- 第一个冒泡算法 C语言