JS之正则表达式相关
2016-02-23 16:55
344 查看
正则概述
定义: 规定字符串中字符出现规则的表达式RegExp对象: 封装了一条正则表达式, 提供了使用正则表达式验证和查找的方法
如何创建正则表达式对象:
var exp = /正则表达式/gi;
var exp = new RegExp(“正则表达式”,”gi”);
正则表达式中所有\都要写成\
贪婪模式: 默认情况下,正则表达式都会匹配尽量长的字符串
懒惰模式: 只匹配最短的符合条件的字符串
贪婪模式转懒惰模式方法: 量词后加?
正则使用
何时使用: 查找、验证、替换、切割规则:
最简单的正则表达式: 关键词原文 —— 必须和原文完全匹配
备选字符集: 规定某一位字符的备选字符列表, 必须且只能多选一
如: 我[爱恨]你
如果备选字符的unicode号连续, 可用-符号连接开头字符和结尾字符
如: [0-9]
[^…]: 表示否定字符集
预定义字符集: 针对常用的备选字符集提供的简化符号
\d: 数字
\w: 字母数字或下划线
\s: 空字符, 空格、制表符、换行
.: 除换行外, 其余所有字符
量词: 规定字符集出现的字数, 默认一个量词, 仅修饰左侧紧邻的字符集
确定数量
{m,n} : 至少m个, 至多n个
{m,} : m个以上
{m} : 必须m个
不确定数量
* : 可有可无, 多了不限
+ : 1个以上
? : 可有可无, 最多一个
选择和分组
选择: | 读作”或”
分组: ()
何时使用: 如(+86|0086)?\s*1[34578]\d{9}
指定匹配位置
开头: ^
结尾: $
何时使用: 验证时必须前加^后加$
零宽断言
(?!exp)为零宽断言, 表示断言之后不能为exp
正则API
查找var arr = exp.exec(str); //同时获得关键字的内容和位置
exec每次只能找到下一个匹配的关键词
arr[0]保存了本次找到的关键词内容, 如果找不到, 返回null
arr.index属性保存本次找到的关键词的首字母位置
验证
var bool = exp.test(str); //验证str是否符合exp的格式
符合返回true, 不符合返回flase
何时使用
验证格式时
如何使用
可直接放入if中, 作为条件
获得本次查找结果中的部分内容: 2步
在正则表达式中用(), 包裹住需要获取的部分
在本次查找的同时, 使用RegExp.$n, 获得第n个括号中匹配的子内容
相关文章推荐
- JS之字符串相关
- JS之数组相关
- JS之函数相关
- JS之运算符相关
- JS之错误处理
- JS之程序结构
- JS之变量与常量
- JS之数据类型相关
- 韩顺平 javascript教学视频_学习笔记34_js正则表达式详解
- JS之概述
- javascript瀑布流式图片懒加载实例解析与优化
- javascript瀑布流式图片懒加载实例
- highcharts动态加载json数据
- JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式
- ajax请求 json格式和数组格式总结
- 深入理解JS闭包
- 关于js里面的变量范围
- 韩顺平 javascript教学视频_学习笔记32_仿sohu频道切换效果
- 韩顺平 javascript教学视频_学习笔记31_随意拖拽窗口案例_dom对象(style对象)_坦克大战1.0版
- [jsp]JSP+DIV右键菜单