快乐的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等函数,这些函数有时候需要多次叠加使用,但 ...
随机推荐
- Leetcode 8 String to Integer (atoi) 字符串处理
题意:将字符串转化成数字. 前置有空格,同时有正负号,数字有可能会溢出,这里用long long解决(leetcode用的是g++编译器),这题还是很有难度的. class Solution { pu ...
- Inno Setup 卸载前关闭进程或服务 x86 x64
1.32位程序的PSVince.dll插件方法. [Setup] AppName=PSVince AppVerName=PSVince 1.0 DisableProgramGroupPage=true ...
- SMON功能(二):合并空闲区间
SMON的作用还包括合并空闲区间(coalesces free extent) 触发场景 早期Oracle采用DMT字典管理表空间,不同于今时今日的LMT本地管理方式,DMT下通过对FET$和UET$ ...
- tomcat7需要进行升级,因为有漏洞,而且安装包没有做过优化处理
http://www.open-open.com/lib/view/open1401931407228.html http://www.cnblogs.com/ggjucheng/archive/20 ...
- ELK——为调试 Logstash Grok 表达式,安装 GrokDebuger 环境
内容 安装 RVM 安装 Ruby 和 Gems 安装 Rails 安装 jls-grok Ruby grok 解析 调试 grok 注意:不要用 root 执行以下操作. 用 logstash ...
- ASP.NET MVC路由规则
1 是从上往下寻找路由规则的 2 如果上面的匹配了,则下面的不会匹配 3 假如域名是www.startpress.cn 路由规则是 routes.MapRoute( name: "Defau ...
- windows下使用TortoiseGit代替Git命令行操作
windows下使用TortoiseGit代替Git命令行操作 大家在使用svn的时候,都非常喜欢使用小乌龟,也就是TortoiseSVN:那么git也有小乌龟版本,即TortoiseGit. 1.安 ...
- <《基金经理投资笔记丛书4-1:投资是一种生活方式》>
在中国股市每年能获得10%的收益已经是非常好了,但问题是大多数股民不认为这是一个很高的收益水平,尽管现实中大多数股民的收益状况比这要差很多. 投资中一个重要的心理陷阱是过度自信,过度自信的一个主要表现 ...
- Python: 测试函数是否被调用
# helper class defined elsewhere class CallLogger(object): def __init__(self, meth): self.meth = met ...
- Eclipse无法启动报An internal error occurred during: "reload maven project". java.lang.NullPointerException
由于没有正常关机导致eclipse无法将数据正常写入配置文件导致无法启动.报这样一个异常 An internal error occurred during: "reload maven p ...