js 正则表达式

1.创建正则表达式

a. var reg =new RegRep(‘aa’,‘ig’);
console.log(reg,test(str));

b.var reg=/a/gi;

2. | 或者[]匹配 或

[]内的^表示除了
[abc]
[^abc] 除了有a,b,c 的元素都可以
[0-9]
[a-z]
[A-Z]
[A-z]

3 量词{}

{n} n个
{m,n} m~n区间个
{n,} n个 以上

4. * +?

n* >=0个n
n+ >=1个n
n? 0~1个n

5. . /w /d /

在这里插入图片描述

6 ^$

^a 以a开头
a$ 以a结尾

7.支持正则的字符串方法

在这里插入图片描述
split()默认全局匹配
search() 默认只有一个,即使全局匹配也无效

  • split 在正则表达中可以结合\w,\d等分割成新的数组

  • search在正则表达中可以找到字符的下标(只能找到1个)类似于indexOf

  • match 在正则表达中找到要找的字符的值,可以全局匹配

  • replace在正则表达中替换字符串的某类值

  • 01match(参数)

    参数形式
    1.字符串
    返回第一个满足条件的子字符串,放到数组中
    2.正则表达式对象
    返回的也是一个数组,或者是null
    根据字符串或者正则表达式,提取复合条件的内容,并且放到数组中,如果没有,则返回null
    如果不加g,只会把第一个匹配的内容返回,加g就返回所有的匹配内容

  • 02 exec(字符串)

    返回值
    数组或者null

    如果有内容,则返回一个数组,数组中只有一个元素,哪怕正则中有g,也只有一个元素
    加g和不加g的区别
    当加g的时候,如果再次运行exec()函数,就会在第一个满足条件的内容后面,继续往后执行,不会再从下标0开始执行
    如果不加g,再次运行还会从下标0开始执行

  • 03 replace(参数1,参数2) 替换
    参数1:正则表达式或者是字符串,表示要被替换的内容,如果是字符串则只能替换一个
    参数2:字符串或者是函数,表示替换以后的内容,也就是用什么内容替换参数1
    如果参数2为函数,该函数必须有返回值

    返回值是替换之后的字符串,原字符串不变

  • search(参数)
    参数可以为字符串,也可以为正则表达式对象,
    返回值
    如果匹配到满足条件的内容,则返回该内容的下标,否则返回-1

加不加g,都是返回第一个找到的字符的下标

indexOf和search的区别
1.search比indexOf更好用,ie低版本也支持
2.search可以结合正则使用,功能更加强大

  • m属性:
    需要结合^ $一起使用
    作用是:影响对行头和行尾的解释,如果没有m的话,^ $指的就是整个字符串的开头和结尾,换行也不影响,当加上m的时候,指的是每一个行字符串的开头和结尾

  • 转义字符
    把元字符专化为普通字符
    元字符->普通字符 => \元字符

  • . $ ^ {} + - / [ ] ( )

8.正则表达式分组

(需要捕获的内容)+\num (匹配 num,此处的 num 是一个正整数 这是对已保存的匹配项的引用)

ex 获取所有重复的字符
str.match(/(.)\1+ /g)(给至少1个以上具有单个字符的连续重复字符分组)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值