快乐的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 1 Two Sum STL
题意:给定一个目标值target,找到两个数的和为target,返回这两个数的下标 用map记录每个数的下标,并用于查找 class Solution { public: vector<int& ...
- Leetcode 225 Implement Stack using Queues STL
用两个队列去实现栈,这里我使用了队列数组q[2],在所有的过程中保证一个队列是空的 push时插入到空的队列中,然后将队列中的元素移到另一个队列中 pop时从不空的队列中pop() peek时从不空的 ...
- 配置android环境
以下是针对windows 系统 1. 下载Android sdk 到http://developer.android.com/sdk/index.html 下载SDK(windows) 这里会需要很长 ...
- 【micropython】用python来进行BadUSB的USB-HID测试(含无线控制)
转载请注明:@小五义http://www.cnblogs.com/xiaowuyiQQ群:64770604 本文以TPYBoardv101开发板为例讲解了利用micropython进行BadUSB的u ...
- Redmine性能优化方案
近来公司redmine服务器表现很糟糕,在16核,64GRAM的机器上,压测结果竟然只有每秒5~7个请求,部分页面一个都出不来. 以下是我对Redmine性能优化方案: redmine服务器性能问题排 ...
- C# 匿名委托、匿名方法、匿名对象、Lambda表达式
一.匿名类型可通过使用 new 运算符和对象初始值创建匿名类型.示例:var v = new { Name = "Micro", Message = "Hello&quo ...
- windows7实现打印机共享的方法
windows7实现打印机共享的方法和windows xp差不多,就是在下图当中的设置: 具体方法请参照:http://jingyan.baidu.com/article/6d704a13e00a21 ...
- img标签中的图片加载异常时显示默认的图片
备忘:
- tomcat java.net.BindException: Cannot assign requested address 解决方法
今天线上TOMCAT启动时遇到了下比较麻烦的问题,错误如下: 21-Apr-2016 15:14:19.077 SEVERE [main] org.apache.catalina.core.Stand ...
- SQL SERVER2012中使用游标来备份数据库
在SQL SERVER中,添加JOB,可以使用以下语句设置定期备份数据库. DECLARE @name VARCHAR(50)--databasename DECLARE @path VARCHAR( ...