- 10
- 0
- 约2.23千字
- 约 11页
- 2017-10-22 发布于北京
- 举报
javascript正则对象使用正则对象字表达式限定符字符匹配符正负向预查
JavaScript
正则表达式
简介
什么是正则表达式
正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。
Str.indexOf(‘@’); // 只能匹配@ 精确匹配
正则表达式 // 模糊匹配
Where username=’zhangsan’;
Where username like ‘%a%’
为什么使用正则表达式
邮箱
手机号
身份证号
……
186****9839
网站关键词
采集器 186lo659839
正则表达式本身就是一种语言,在任何语言使用过程中,都是相同的
快速入门
查找一个字符串中是否具有数字“8”
查找一个字符串中是否具有数字
查找一个字符串中是否具有非数字
正则对象
在js中,如果想使用正则表达式,必须创建一个正则对象,这个正则对象就是RegExp类的实例
创建正则对象
有两种方式:
隐式创建
语法:
var reg=/正则表达式/匹配标志
;
直接实例化
语法:
var reg=new RegExp(“正则表达式”,”匹配标志”)
3)区别:
如果是直接实例化,像 \d 这样的特殊字符,需要写:\\d 表示转义,比较麻烦,所以建议使用隐式创建
4)匹配标志
g:全局检索
i:忽略大小写 ,默认正则表达式是区分大小写的
使用正则对象
RegExp类
test(str) :检查字符串是否包含指定模式的字符串
exec(str) :返回字符串中匹配指定模式的字符串 没找到就返回null
String类
search :返回匹配模式字符串出现的位置 没找到就返回-1
match :返回匹配模式的字符串 以数组形式返回 , 没找到返回null
replace :使用指定的内容替换匹配模式的字符串
split :将字符串以匹配模式进行分割,返回数组
几个重要概念
子表达式
在正则表达式中,使用一对括号括起来的内容就是一个子表达式
捕获
子表达式匹配的内容会被放入到系统缓冲区中
反向引用
引用之前捕获的第几号缓存冲区的内容
\n n:数字
举例说明:
查找连续的四个数字,如:3569
查找连续的相同的四个数字,如:1111
查找数字,如:1221,3443
查找字符,如:AABB,TTMM
查找连续相同的四个数字或四个字符
查找一个字符串中所有html标签以及它们中间的内容
关于exec方法和子表达式:
正则表达式构成
正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配
普通字符:a、b、c、1、2、3
特殊字符:\d、\D、|
写正则表达式需要记住几件事:
你要从哪查
你要查什么
你要查多少
限定符
限定符可以指定正则表达式的一个给定组件必须要出现多少次才能满足匹配。
* 匹配前面的子表达式零次或多次
+ 匹配前面的子表达式一次或多次
? 匹配前面的子表达式零次或一次
{n} 匹配确定的 n 次
{n,} 至少匹配n 次
{n,m} 最少匹配 n 次且最多匹配 m 次 n=m
* {0,}
+ {1,}
? {0,1}
例1:
例2:
例3:
在匹配时,能匹配多的,就不匹配少的,就是贪婪匹配原则
例4:
在限定符的最后面加上“?”,表示非贪婪匹配原则
字符匹配符
字符匹配符用于匹配某个或某些字符
字符簇:
[a-z] :匹配任意一个a-z之间的字符
[A-Z] :匹配任意一个A-Z之间的字符
[0-9] :匹配任意一个0-9之间的数字
[0-9a-z] :匹配0-9 a-z之间的任意一个字符或数字
[0-9a-zA-Z] :匹配0-9 a-z A-Z 之间的任意一个字符或数字
[abcd] :匹配字符a或b或c或d
[1234] :匹配数字1或2或3或4
[^a-z] :匹配除了a-z之间的任意一个字符
[^0-9] :匹配除了0-9之间的任意一个字符
[^abcd] :匹配除了a b c d 之间的任意一个字符
\d :匹配一个数字字符。 [0-9]
\D :匹配一个非数字字符。 [^0-9]
\w :匹配包括下划线的任何单词字符。 [0-9a-zA-Z_]
\W :匹配任何非单词字符。 [^0-9a-zA-Z_]
\s :匹配任何空白字符 空格、制表符
\S :匹配任何非空白字符。
. :匹配除 \n 之外的任何单个字符
如果想匹配所有字符:[.\n]
定位符
定位符可以将一个正则表达式固定在一行的开始或结束。也可以创建只在单词内或只在单词的开始或结尾处出现的正则表达式。
^ 匹配源字符串的开始
原创力文档

文档评论(0)