5-15、正则表达式

i	执行对大小写不敏感的匹配。
g	执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m	执行多行匹配。

方括号用于查找某个范围内的字符:
[abc]	查找方括号之间的任何字符。
[0-9]	查找任何从 09 的数字。
(x|y)	查找任何以 | 分隔的选项。

元字符是拥有特殊含义的字符:
\n	换行
\t	制表符Tab
\d	查找数字。
\s	查找空白字符。
\b	匹配单词边界。
\uxxxx	查找以十六进制数 xxxx 规定的 Unicode 字符。
\u4e00-\u9fa5	中文范围

量词:
n+	匹配任何包含至少一个 n 的字符串。
n*	匹配任何包含零个或多个 n 的字符串。
n?	匹配任何包含零个或一个 n 的字符串。

什么是正则表达式?
由以下两种字符组成的文字模式
1、普通字符

字母 数字 @  

2、特殊字符(有特殊含义的,例如 \ . 等)

该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。

创建正则表达式

RegExp 对象
RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。

  1. 字面量或直接量
[]		{
   }		/js/
  1. 构造函数
new Object()
使用方法:

test 找到true,找不到false
exec 找到放到数组里传递回来,找不到返回null
实例:

 var str = 'I love you';
    var zz = /ove/;
    console.log(zz.test(str));  //  找到true,找不到false
    console.log(zz.exec(str));  //  找到放到数组里传递回来,找不到返回null

正则表达式默认是区分大小写,也可以忽略大小写
i -> ignoreCase 忽略大小写
g-> global 全局匹配
m-> multiline 多行匹配

i	执行对大小写不敏感的匹配。
g	执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m	执行多行匹配。
	// i 案例	
    var str = 'I lOve you';
    var zz = /ove/i;
    console.log(zz.test(str));  
    console.log(zz.exec(str)); 
	
	//没有限制,也可以	var zz = /ove/igm;

构造函数写法:

    var str = 'I lOve you';
    var zz = new RegExp("Ove",'i');
    console.log(zz.test(str));  //true
    console.log(zz.exec(str)); 	// ['Ove']

字面量和构造函数的方式的区别:
字面量方便好用,比较常用,构造函数的方式比较好用。
字面量比较难改,构造函数是字符串传进来的,可以同变量传进来,可以随便改。
示例:

    var str = 'I lOve you';
    var pj = 'Ove';
    var zz = new RegExp(pj,'i');
    console.log(zz.test(str));  
    console.log(zz.exec(str)); 
正则表达式的测试工具

\ 转义符

比如,在使匹配/的时候

var pp = '/\/\//';	//两边的 / 是原有格式上的,中间的\/代表一个/
    var i = '\\\\'; //这里其实是两个 \
    var n = /\\\\/;	//匹配规则
    console.log(n.exec(i));

普通字符转换成特殊字符:

\n	换行
\t	制表符Tab
\d	查找数字。
\s	查找空白字符。
\b	匹配单词边界。

字符类:
⭐⭐⭐匹配 [] 中任意一个,然后停止


	// ^ 除什么以外任意字符
	var str = 'yijuhua';
    var i = /[yi]/;
    console.log(i.test(str));	//true
    console.log(i.exec(str));	// ['y']
    
    var a = /[^yi]/;
    console.log(i.test(str));	//true
    console.log(i.exec(str));	// ['j']	yi会跳过,然后找到j符合条件停止
	var i =  /[a-z]/;	//匹配a-z
	var i =  /[c-z]/;	//匹配c-z
	//前面的不能大于后边的,可以等于

	var i =  /[
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值