快乐的JS正则表达式(三)
?的用途。
小任务:匹配一段网址如var str = "http://www.123.com/";注意http也可以是https
var str = "http://i.cnblogs.com/";
var reg = /https?:\/\/[a-z]+\.[a-z0-9]+\.[a-z]+\//;
console.log(reg.exec(str)); //["http://i.cnblogs.com/", index: 0, input: "http://i.cnblogs.com/"]
?表示前面的那个字符0个或者1个因为/在js中有另外的含义所以我使用了转义字符\
为了更深入的理解转义字符,在来一个例子。
var str = "Array[5]";匹配这段代码中的括号以及数字,数字可以是0-9中任意的一个,也许你会这样写
var str = "Array[5]";
var reg = /[0-9]/;
console.log(reg.exec(str)); //["5", index: 6, input: "Array[5]"]
但是却没有匹配到[],因为[]在正则中有特殊含义,所以我们需要对它进行转义。
var str = "Array[5]";
var reg = /\[[0-9]\]/;
console.log(reg.exec(str)); //["[5]", index: 5, input: "Array[5]"]
第一个[]进行了转义,第二个[]正常使用,因为我们只需要匹配一个[]
其实匹配数字或者字母并不一定需要使用a-z,我们也可以使用\d,\w \d表示任意一个数字,\w表示任意一个字母
var str = "Object";
var reg = /\w+/;
console.log(reg.exec(str)); //["Object", index: 0, input: "Object"]
var str = "112113";
var reg = /\d+/;
console.log(reg.exec(str)); //var str = "112113";
匹配邮箱小案例
var str = "html5@123.com.cn";
var reg = /[\d\w]+@[\d\w]+(\.[\w]+)+/;
console.log(reg.exec(str)); //["html5@123.com.cn", ".cn", index: 0, input: "html5@123.com.cn"]
[\d\w]+用来匹配html5,[\d\w]+用来匹配123,(\.[\w]+)+用来匹配.com.cn只所以用()扩起来是因为我们需要把里面的内容当做一个整体,因为.com后还可以用多个
从后面的几节开始,我们将会进入到实战篇。
本节完。
快乐的JS正则表达式(三)的更多相关文章
- 快乐的JS正则表达式(二)
在上一篇中介绍了一个test方法,在本文中将使用另外一个,exec方法可以找到匹配的结果并且返回结果以及位置.exec("正则"): 简单测试: var str = "{ ...
- 快乐的JS正则表达式(一)
上一篇介绍了为什么需要正则,那从这一篇开始我们就去学习如何使用正则. 在js中有两种方式创建正则表达式: var reg = new RegExp("表达式","可选规则 ...
- 快乐的JS正则表达式(开篇)
我不喜欢一开始就去讨论某某有多强大,因为我觉得那样没意思,首先我们的知道它是干什么,对我们有啥用,再去讨论它的强大之处也不迟.那和往常一样我们先来看几个例子. var arr = [1,4,2,5,2 ...
- JS正则表达式常用总结
正则表达式的创建 JS正则表达式的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\\s+) ...
- JS正则表达式大全
转自:http://wenku.baidu.com/link?url=3y930kC7F6D3wQdMjQ3fVDmiA9Wfebs_QK0UB3N3mFaEoKg4ytZORPopxufeYA6si ...
- JS正则表达式大全(整理详细且实用)
JS正则表达式大全(整理详细且实用).需要的朋友可以过来参考下,希望对大家有所帮助!! 正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释, ...
- JS 正则表达式用法
JS 正则表达式用法简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.其作用如下: 测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或 ...
- 【正则】精通JS正则表达式,没消化 信息量太大,好文
http://www.jb51.net/article/25313.htm 正则表达式可以: •测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用 ...
- Jquery Easyui验证扩展,Easyui验证,Easyui校验,js正则表达式
Jquery Easyui验证扩展,Easyui验证,Easyui校验,js正则表达式 >>>>>>>>>>>>>> ...
随机推荐
- UC脱茧蜕变,移动资讯市场格局再生变
日前,UC浏览器正式更名为UC,同时正式发布大数据驱动的独立资讯应用“UC头条”.而整个UC品牌也从工具类升级为优质资讯内容平台,并吹响了向“大数据新型媒体平台”进军的冲锋号.根据UC官方公布的数据显 ...
- 更新日志 - fir.im 主题壁纸来了
fir.im 产品开发团队最近主要在优化应用管理后台和 BugHD 后台,新版应用管理后台很快会与大家见面. 本周其他更新内容简单概述如下: 1.fir.im 工具页添加壁纸主题包 有很多用户很喜欢 ...
- iOS-App生命周期
iOS APP 生命周期 官方文档: https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneO ...
- hud2544dijkstra+堆优化
该算法对于稠密图更加有效: 对于给出具有非负权重的边和源顶点S的图G,算法可在O(mlogn)时间内找出从s点到其他每一个顶点的距离. 如果图是稠密的,即对于某个ε>0,m>=n^(1+ε ...
- python实现curl功能
之前写过一篇文章关于python CURL模块的,在这里我们从urllib来实现同样的功能.具体代码如下: import urllib import urllib2 import json #发起请求 ...
- Android图片处理-图片压缩处理
这里先重复温习一下上一篇,调用相册获取图片: /*** * 这个是调用android内置的intent,来过滤图片文件 ,同时也可以过滤其他的 */ Intent intent = new Inten ...
- const成员函数
尽管函数名和参数列表都相同,void foo( ) const成员函数是可以与void foo( )并存的,可以形成重载! 我们假设调用语句为obj.foo(),如果obj为non-const对象,则 ...
- INFO - InstallShield中的InstallScript工程Setup.exe /s的使用细节
在InstallShield的各种工程类型中,Basic MSI工程Build出的安装包基于Windows Installer标准,所以默认就支持静默安装(至于如何静默安装,请自行补充相关知识).而对 ...
- 用Wireshark提取WPA握手包
进入正文前,先来看一张截图,如图1,使用“aircrack-ng wpa.cap -w password.lst”命令后,程序会提示输入待破解网络的序号,此时只要提供一个序号即可.注意:1:命令中不需 ...
- [转] 配置Log4j
Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境 ...