快乐的JS正则表达式(一)
上一篇介绍了为什么需要正则,那从这一篇开始我们就去学习如何使用正则。
在js中有两种方式创建正则表达式:
var reg = new RegExp("表达式","可选规则");
var reg = / 表达式 /可选规则;
另外在本节介绍一个简单的方法,更多方法会在后面的章节介绍。
test()方法用来判断一段文本里面是否有指定的内容,有就返回true,否则false。
var str = 'qqwebpp';
var reg = /web/;
console.log(reg.test(str)); //true
需要注意的是/web/匹配的是web这几个字的整体,而不是一个字符串。
var str = 'qqwebpp';
var reg = /webs/;
console.log(reg.test(str)); //false
这个表达式验证了我们上一点。
var str = 'qqhtml5pp';
var reg = /html5/;
console.log(reg.test(str)); //true
虽然这样也能够完成我们要的结果,但是有时html后面的数字我们并不指定是5,如果是任意的数字,我们可以这样。
var str = 'qqhtml4pp';
var reg = /html[0123456789]/;
console.log(reg.test(str)); //true
如果我们想匹配任意的一个值,可以用方括号扩起来,只要对应的文本里面有我们方括号里面写的任意一个值就能够匹配的到。这样写多少有些麻烦,如果我们是想匹配任意的一个数字我们可以通过0-9来简写,0-9并不是固定的也可以从6-8,随便你写。
var str = 'qqhtml4pp';
var reg = /html[0-9]/;
console.log(reg.test(str)); //true
如果是想匹配任意一个字母的话可以通过[a-z],匹配大写的字母通过[A-Z],匹配大写或小写中的任意一个[a-zA-Z];通过一个来例子结束本节。
var str1 = 'I move 1 to 2 you ?';
var str2 = 'I move 6 to 7 you ?';
匹配这段文字里面的 数字 to 数字
var str1 = 'I move 1 to 2 you ?';
var str2 = 'I move 6 to 7 you ?';
var reg = /[0-9] to [0-9]/;
console.log(reg.test(str2)); //true
如果一章讲太多的话,会比较乏味,所以分开写。
快乐的JS正则表达式(一)的更多相关文章
- 快乐的JS正则表达式(二)
在上一篇中介绍了一个test方法,在本文中将使用另外一个,exec方法可以找到匹配的结果并且返回结果以及位置.exec("正则"): 简单测试: var str = "{ ...
- 快乐的JS正则表达式(三)
?的用途. 小任务:匹配一段网址如var str = "http://www.123.com/";注意http也可以是https var str = "http://i. ...
- 快乐的JS正则表达式(开篇)
我不喜欢一开始就去讨论某某有多强大,因为我觉得那样没意思,首先我们的知道它是干什么,对我们有啥用,再去讨论它的强大之处也不迟.那和往常一样我们先来看几个例子. var arr = [1,4,2,5,2 ...
- JS正则表达式常用总结
正则表达式的创建 JS正则表达式的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\\s+) ...
- 使用外部web组件-----easyUI、jQueryUI、Bootstrap、js正则表达式
1.使用外部web组件,以Bootstrap为例 <head> <link rel='stylesheet' href='bootstrap-3.3.0-dist/dist/css ...
- js正则表达式图形化工具-rline
github地址:https://github.com/finance-sh/rline 在线demo: http://lihuazhai.com/demo/test.html 这是一个js正则表达式 ...
- Python之路-(js正则表达式、前端页面的模板套用、Django基础)
js正则表达式 前端页面的模板套用 Django基础 js正则表达式: 1.定义正则表达式 /.../ 用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...
- JS正则表达式大全
转自:http://wenku.baidu.com/link?url=3y930kC7F6D3wQdMjQ3fVDmiA9Wfebs_QK0UB3N3mFaEoKg4ytZORPopxufeYA6si ...
- js正则表达式replace里有变量的解决方法用到RegExp类
一直比较害怕使用正则表达式,貌似很深奥很复杂的样子,所以在用js操作字符串的时候,我最多使用的是replace.split.substring.indexOf等函数,这些函数有时候需要多次叠加使用,但 ...
随机推荐
- iOS开发-图片高斯模糊效果
iOS开发的时候有的时候需要将图片设置模糊,或者通过点击下拉方法,去除模糊,一切都是为了应用更受用户欢迎,iOS7之后半透明模糊效果得到大范围使用的比较大,现在也可以看到很多应用局部用到了图片模糊效果 ...
- iOS-项目打包为ipa文件
最近自己做的一个项目,由于app store发布流程比较复杂,且审核周期较长,客户希望提前能看到产品,所以我先给自己的项目打包成一个ipa文件(类似Android的apk安装包),然后发布在" ...
- 关闭Windows Update更新驱动程序
关于Win10的更新配置,特别是自动更新驱动程序,经常会导致驱动安装错误而无法开机的问题. 此时只好开机时按F8进入高级模式恢复最后一次正确配置,或者在安全模式删除错误的驱动程序. 关于Win10的更 ...
- How Tomcat works — 六、tomcat处理请求
tomcat已经启动完成了,那么是怎么处理请求的呢?怎么到了我们所写的servlet的呢? 目录 Http11ConnectionHandler Http11Processor CoyoteAdapt ...
- Clojure的并行与并发
这次来聊聊clojure的并行与并发,如果你还不知clojure为何物,请翻翻我的上一篇推文.“并行”是指clojure对并行计算的支持(parallel computing),“并发”是其并发特性( ...
- python之对指定目录文件夹的批量重命名
python之对指定目录文件夹的批量重命名 import os,shutil,string dir = "/Users/lee0oo0/Documents/python/test" ...
- easy UI获取数据,打开毕弹窗
<div id="modalwindow" class="easyui-window" data-options="modal:true,clo ...
- GitHub前50名的Objective-C动画相关库
GitHub的Objective-C的动画UI库其实是最多的一部分,GitHub有相当一部分的动画大牛,如Jonathan George,Nick Lockwood,Kevin,Roman Efimo ...
- linux服务器调整参数支持高并发
服务端调整系统的参数,在/etc/sysctl.conf中: ◦net.core.somaxconn = 2048◦net.core.rmem_default = 262144◦net.core.wm ...
- linux上挂载windows共享文件夹
linux上挂载windows共享文件夹 1.共享windows目录 挂载之前得创建一个有password的用户(当前用户也能够),并将你要挂载的目录进行共享,并赋予读写权限 如图. watermar ...