正则

方法

捕获reg.exec(str)

  • exec只能捕获一次 如果没有符合的返回null

匹配reg.test(str)

  • 此方法仅仅是检查是否能够匹配,匹配成功返回true,不成功返回false

match 字符串的方法
匹配正则表达式,将符合条件的返回成数组

  • str.match(ref)—于正则表达式的exec方法类似,该方法同样返回一个数组,返回值上也有input和index属性

replace
2个参数,第一个参数是替换的字符(也可以是正则),第二个参数:被替换的字符或者函数,如果第二个参数是函数那在没有分组的情况有3个默认的值,1,找到的字符串,2,找到是索引位置3,原本字符串

元字符

修饰符

  • i 忽略大小写
  • g 全局匹配
  • m 表示行首和行尾

任何一个字符都可以是元字符

  • ? 号出现在量词元字符的后面表示取消正则的贪婪模式
  • {n} 匹配固定的N个
  • {m,n} 匹配最少M个,最大N个
  • {n,} 表示最少匹配N个,最多不限制
  • 综合 * 表示0次或者多次,等同于{0,}
  • + 表示一次或者多次,等同于{1,}
  • ? 表示0次或者1次,等同于{0,1}
  • 表示位置 ^(开头) $(结尾) -> /^(开头) $(结尾)/
  • . 会匹配字符串中除了换行符\n之外的所有字符
  • | 正则表达式中的或,把"|"左右两边的一到多个字符当成一个整体对待
  • [] 表示去中括号中的任意一个字符
  • [^] 表示除了以中括号的字符的任何一个字符
  • 边界与非边界 \b 表示边界的意思,也就是说,只有字符串的开头和结尾才算数
  • 数字与非数字 \d 表示数字的意思。\D 表示非数字的意思
  • 空白 \s 包括空格回车制表字符。\S 表示非空格字符
  • 单字符 \w 表示单词字符,等同于字符集合[a-zA-Z0-9]。\W:表示非单词字符等效于[^a-zA-Z0-9]。

正则的贪心于非贪心
正则是贪婪的,能匹配多个是时候不会去匹配少个的,如果我们想要尽量少匹配的时候,在表示数字的后面加个?号,就表示非贪婪匹配

分组和分组的引用
() 除了是子正则外,还是分组的意思 ()出现的正则就是代表一个分组,如果后面用到我们直接的\数字(第几个分组)就代表直接用了。

var str=“woow”;//foof dood abba abca
var reg=/^(\w)(\w)\2\1$/;//出现在第三个位置的要和第二个一样 出现在第四个位置的要 和第一个样。
RegExp.$1 就是指正则的第一个分组,依次类推。

  • (?:) 表示只匹配,不捕获。
  • (pattern) 匹配pattern并获取这一匹配。
  • (?:pattern) 匹配pattern但不获取匹配结果。
  • (?=pattern) 正向预查,在任何匹配pattern的字符串开始处匹配查找的字符串,这是一个非- 获取匹配,也就是说该匹配不需要获取供以后使用。
  • (?=pattern) 负向预查,在任何不匹配pattern的字符串开始处匹配查找的字符串,这是一个非获取匹配,也就是说该匹配不需要获取供以后使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值