正则表达式

配合w3c来看http://www.w3school.com.cn/jsref/jsref_obj_regexp.asp

转义字符  ‘\’

\n   表示换行  

\r  行结束符

\t  制表符 一个tab

多行字符串

字符串是不能直接在js里面换行的

需要每一行的最后加上一个转义字符

正则表达式的作用:匹配特殊字符或有特殊搭配原则的字符的最佳选择

正则表达式不是一个单独的规则,他是一个规则对象,对象里面包含了规则

正则表达式的创建方式:

1,直接量

表示正则表达式abc

表达必须连在一起的字符串片段

var reg = /abc/i;

i表示不区分大小写

g表示全局匹配,会把所有符合reg中的字符串片段都找出来

匹配行开头的a

还是一个  这是因为它还是认为这是一个字符串

所以,m是用在有\n情况下的多行匹配

2,new RegExp();

var reg = new RegExp('abc', 'i');

表达式:每个表达式代表一位

方括号用于查找某个范围内的字符

但是每一个可匹配片段只配一次

尖角号放到表达式里面表示非

表示第一位不是a,第二位不是d

查找括号里面的其中一个属性

元字符

使用方法:

可以放在方括号内,也可以放在方括号外

\w === [0-9A-z_]

\W === [^\w]

\d === [0-9]

\D === [^\d]

\s === [\t\n\r\v\f ]

\S === [^\s]

\b === 单词边界

\D === 非单词边界

前面空格是单词边界,后面连在一起的不是单词边界

量词 (正则表达式符合贪婪匹配原则)

n+  {1, }  匹配任何包含至少一个 n 的字符串

n*  {0, } 匹配任何包含零个或多个 n 的字符串

n? {0,1}  匹配任何包含零个或一个 n 的字符串

n{x} {x} 匹配包含 X 个 n 的序列的字符串

n{x,y} {x,y} 匹配包含 X 至 Y 个 n 的序列的字符串

n{x, } 匹配包含至少 X 个 n 的序列的字符串

n$  匹配任何结尾为 n 的字符串

^n  匹配任何开头为 n 的字符串

正则表达式的方法

test()  检索字符串中的值,返回true或者false

exec()  检索字符串中指定的值。返回找到的值,并确定其位置

reg.lastIndex就会返回index游标

但是一定到注意加上g,不然游标不会向后移动

反向引用

加了括号的元字符(子表达式),可以使用\1 来反向引用,表示和第一个一模一样,\2 表示和第二个一样

返回的数组里面会返回子表达式的值

支持正则表达式的String对象方法

match  找到一个或多个正则表达式的匹配

如果加上g,就会少很多附加属性

search  检索与正则表达式相匹配的值,并返回匹配的位置(-1表示匹配失败)

split 把字符串分割为字符串数组

replace 替换与正则表达式匹配的子串

所以,非正则表达式只能匹配一个

将the-first-time改成小驼峰式写法

正向预查,正向断言

?=n  匹配任何其后紧接指定字符串 n 的字符串

改变成非贪婪匹配

去重

表示1000000000,用点隔开 eg:1.000.000

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值