正则使用从0开始学习(二)
来源:互联网 发布:godaddy域名证书 编辑:程序博客网 时间:2024/06/05 00:20
一些有用的正则的尝试和收集:
以下是以js规则的表达式
1、匹配中文
var s = '我爱中国';var reg = /[\u4e00-\u9fa5]/;var result = s.match(reg);匹配结果: ["我", index: 0, input: "我爱中国"]// 全局匹配var reg = /[\u4e00-\u9fa5]/g;var result = s.match(reg);匹配结果: (4) ["我", "爱", "中", "国"]// 其他'我爱中国'.match(/[\u4e00-\u9fa5]*/);'我爱中国'.match(/[\u4e00-\u9fa5]+/);匹配结果: ["我爱中国", index: 0, input: "我爱中国"]'我爱中国'.match(/[\u4e00-\u9fa5]?/);匹配结果:["我", index: 0, input: "我爱中国"]'我爱中国'.match(/[\u4e00-\u9fa5](.*?)/);匹配结果: ["我", "", index: 0, input: "我爱中国"]
2、匹配邮箱
var s = 'm1212@sina.com'var reg = /[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?/gvar result = s.match(reg);匹配结果:["m1212@sina.com"]
3、匹配URL
var s = 'http://www.baidu.com's.match(/[a-zA-z]+://[^\s]*/);匹配位置:0匹配结果:http://www.baidu.com
4、匹配@abc@ 或者 #abc#类型
var s = '#fdsa# #fdsabb#'s.match(/^(@|#)[^\s]*?(@|#)/g);匹配结果: ["#fdsa#", "#fdsabb#"]
以上并不能匹配’# fdsa#’这种类型,要匹配这种类型,需要包含\s
var s = '#fdsa# #fdsabb#'s.match(/^(@|#)(.*?)(@|#)/g);匹配结果: ["#fdsa#", "#fdsabb#"]
5、匹配QQ
var s = '11212121's.match(/[1-9][0-9]{4,}/);匹配结果: 11212121
5、匹配邮编
var s = 'afa4614612afa's.match(/[1-9]\d{5}(?!\d)/);匹配结果: 4614612
6、匹配身份证号
var s = '411528199208132243';var reg = /^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/;s.match(reg);匹配结果: 411528199208132243
6、匹配年-月-日格式
var s = '2017-11-14';var reg = /([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))/;s.match(reg);匹配结果: 2017-11-14
7、匹配整数
var s = '121';var reg = /^[1-9]\d*$/s.match(reg);匹配结果: 121
8、匹配IP地址
var s = '192.168.1.11';var reg = /((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?)))/s.match(reg);匹配结果: 192.168.1.11
9、匹配浮点数
var s = '0.1111121';var reg = /^-[1-9]\d*\.\d*|-0\.\d*[1-9]\d*$/s.match(reg);匹配结果: 0.1111121
阅读全文
1 0
- 正则使用从0开始学习(二)
- 正则使用从0开始学习(一)
- javascript正则表达式从0开始学习
- OkHttp+ Retrofit使用从0开始(二)
- 从最简单开始的正则学习
- 谈谈从0开始快速学习React Native(二)
- JAVA 从0开始 二
- 从0开始<二>:1
- 从0开始理解正则表达式
- 从正则表达式开始
- [一]从0开始学习Maven的使用
- 从0开始学习emacs
- 机器学习--从0开始
- 从0开始学习 GITHUB
- 从0开始学习GitHub
- 新手入门教程,从0开始入手APIcloud(二)
- 从0开始学习SpringCould(5)--SpringBoot 集成Mybatis使用Druid数据源
- 从0开始使用goagent
- git中checkout与reset在撤销操作中的应用
- 深入剖析ConcurrentHashMap(2)
- 【第二届蓝桥杯】神秘的三位数
- 正则表达式
- C++用户自定义转换(User-Defined Conversion)
- 正则使用从0开始学习(二)
- 从外网访问VMware虚拟机的Web服务[转]
- 《Apache Kylin将curl方式改为httpclient方式调用Restful API》
- CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。
- 几种获取应用程序/apk安装包版本信息的方法
- CDB重启时如何保持PDB的open模式(文档 ID 1933511.1)
- LeetCode-152:Maximum Product Subarray (乘积最大连续子数组) -- medium
- HDU 1017 A Mathematical Curiosity
- 高性能 Java 持久化的 14 个技巧