JS的正则表达式简介
1、JS的正则表达式
1.1 简介
JS的正则表达式比较简单,总体上只分为两个功能:一个是test——用于匹配字符串是否符合规定的正则表达式规则;另外一个是exec——用于获取匹配到的数据。
1.2 test介绍
我们利用/.../生成正则表达式的对象,例如我们想匹配包含数字0-9可以这样定义:
rep = /\d+/
然后调用test方法即可:
rep.test('abcd123vdsd345');
结果为:

注意默认情况下这个字符串只要包含数字就返回true。
但是如果我们想匹配字符串中必须全部都包含数字,只要改一下正则表达式规则即可:

1.3 exec介绍
1.3.1 默认情况
默认情况下exec仅拿匹配到的第一个值,并且将这个值存放到数组中:
rep = /\d+/;
str = 'qwe123fds456sd666';
rep.exec(str);
结果如下:

大家可以看到,不管匹配多少次,默认时仅匹配出来了123。
1.3.2 全局匹配:/.../g
如果利用全局匹配的话,可以像迭代器那样讲数字全部匹配出来:
rep = /\d+/g;
str = 'qwe123fds456sd666';
rep.exec(str);
结果如下:

这里需要注意的一点是:最后那个null是结束的标志,如果再在null后面执行的话,程序会自动从字符串的头重新开始匹配的 。
1.3.3 多行匹配:/.../m
JS正则匹配时本身就是支持多行,此处多行匹配只是影响正则表达式^和$,m模式也会使用^$来匹配换行的内容:
var pattern = /^Java\w*/gm;
var text = "JavaScript is more fun than \nJavaEE or JavaBeans!";
pattern.exec(text);
结果如下:

1.3.4 不区分大小写:/.../i
pattern = /\bjava\w*\b/gi;
str = 'JAVAScript11 javascript22 dasd'
pattern.exec(str);
结果如下:

1.4 字符串中的相关方法:
obj.search(regexp) 获取索引位置,搜索整个字符串,返回匹配成功的第一个位置(g模式无效)
obj.match(regexp) 获取匹配内容,搜索整个字符串,获取找到第一个匹配内容,如果正则是g模式找到全部
obj.replace(regexp, replacement) 替换匹配替换,正则中有g则替换所有,否则只替换第一个匹配项,
$数字:匹配的第n个组内容;
$&:当前匹配的内容;
$`:位于匹配子串左侧的文本;
$':位于匹配子串右侧的文本
$$:直接量$符号
JS的正则表达式简介的更多相关文章
- Js用正则表达式验证字符串
		
js 常用正则表达式表单验证代码 作者: 字体:[增加 减小] 类型:转载 js 常用正则表达式表单验证代码,以后大家就可以直接使用了. 正则表达式使用详解 简介 简单的说,正则表达式是一种可以用于模 ...
 - Node.js 教程 01 - 简介、安装及配置
		
系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...
 - js常用正则表达式2
		
字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界. -或- 对 ...
 - js之正则表达式(上)
		
1.正则表达式的创建方式 两种方式创建:通过new修饰符创建和字面量的方式创建 1>new修饰符方式创建 var b2=new RegExp('Box','ig'); //第二个参数是 模式字符 ...
 - 最流行的Node.js应用开发框架简介
		
最流行的Node.js应用开发框架简介 快速开发而又容易扩展,高性能且鲁棒性强.Node.js的出现让所有网络应用开发者的这些梦想成为现实.但是,有如其他新的开发语言技术一样,从头开始使用Node.j ...
 - php正则表达式简介
		
正则表达式简介 正则表达式Regular Expression,使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.代表性书籍<正则表达式之道>里面有详细论述,本书籍为个人查阅之用力 ...
 - AngularJS进阶(十三)JS利用正则表达式校验手机号
		
JS利用正则表达式校验手机号 注:请点击此处进行充电! 绪 由于项目需求,需要在前端实现手机号码的校验.当然了,对于基本的格式校验应该放在客户端进行,而不需要再将待校验的手机号发送至服务端,在服务端完 ...
 - JS常用正则表达式备忘录
		
摘要: 玩转正则表达式. 原文:JS常用正则表达式备忘录 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 正则表达式或"regex"用于匹配字符串的各个部分 下面是 ...
 - JS的正则表达式及回文
		
function palindrome(str) { str = str.replace(/\s/g,"").replace(/[^a-zA-Z0-9]/g,"" ...
 
随机推荐
- jsp中<%两个最容易搞混淆的用法,附:out.println与out.write的用法
			
jsp中的<% java代码 %>,表示的是在html中写入java代码,其写入的格式就是在java代码的两头加上<% %>.搞明白这些以后,我们再来看看在js中,最易搞混淆的 ...
 - MySQL--时间戳属性1
			
============================================================================== DATETIME类型和TIMESTAMP类 ...
 - day45 html 初识,常见命令
			
Web服务本质 浏览器发请求 --> HTTP协议 --> 服务端接收请求 --> 服务端返回响应 --> 服务端把HTML文件内容发给浏览器 --> 浏览器渲染页面 浏 ...
 - Complete Physics Platformer Kit 学习
			
using UnityEngine; /// <summary> /// 摄像机跟随玩家 /// </summary> public class CameraFollow : ...
 - ThreadLocal使用注意
			
ThreadLocal<T>的出现是一种空间换时间的思想的运用,是为了多线程环境下单线程内变量共享的问题.它的原理就是每个线程通过ThreadLocal.ThreadLocalMap,保存 ...
 - xlsx 库 知识点
			
官方github地址:https://github.com/SheetJS/js-xlsx xlsx 用webpack打包后体积太大: vue-cli构建的项目,优化办法:https://segmen ...
 - 共用体union
			
union共用体名 { 类型名 成员名1: 类型名 成员名2: …… 类型名 成员名n; } 由于各个成员变量在内存中都使用同一段存储空间,因此共用体变量的长度等于最长的成员长度,共用体的访问方式和结 ...
 - ASP.NET AJAX入门系列(3):使用ScriptManagerProxy控件
			
在ASP.NET AJAX中,由于一个ASPX页面上只能有一个ScriptManager控件,所以在有母版页的情况下,如果需要在Master-Page和Content-Page中需要引入不同的脚本时, ...
 - locate命令详解
			
Linux locate命令 locate(locate) 命令用来查找文件或目录. locate命令要比find -name快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/ml ...
 - [转]关于ImportError: xxxx.so: undefined symbol: PyFPE_jbuf的解决方案
			
转自: http://blog.csdn.net/zixiximm/article/details/50505921 最近在学着用caffe,总是遇到各种各样奇怪的问题.有时候搜遍整个google也找 ...