JS 正则表达式个人总结

一、概述

正则表达式是用于匹配字符串中字符组合的模式,js中正则表达式也是对象。通常用来检索替换符合某个模式的文本。

二、创建正则表达式

(1)通过RegExp对象的构造函数创建:var 变量名 = new RegExp(/表达式/);
(2)利用字面量创建:var 变量名 = /表达式/;

三、测试正则表达式

regexObj.test(str); 方法 检测字符串是否符合正则表达式的规范,是则返回true,否则返回false;str为测试的字符串,regexObj为写的正则表达式,如var rg = /123/ rg.test('123')

四、正则表达式的组成

由简单字符或者简单字符和特殊字符(元字符)组成,其中元字符是具有特殊意义的专用符号。如^、$、+等。

五、特殊字符:
  1. ^ $,以 ^ 开始,以 $ 结束,正则表达式内不需要加引号,/abc/ 表示只有包含有abc这个字符串,返回的都是true。若^在[]中括号内,则表示取反。
  2. [] 表示有一系列字符可供选择,只要匹配其中一个就返回true。/^[abc]$/ 表示abc三选一其中一个字母才为true,a开头结尾或b开头结尾或c开头结尾。方括号内出现 | 分隔符,只能匹配分隔符|,并不能起到分隔作用。
  3. ‘-’ 范围符,/^[a-zA-Z]$/ 表示26个字符任意一个则返回true。
  4. | 逻辑运算符或。
  5. 量词符:用来设定某个模式出现的次数(指前面的字符)
    (1)* 表示可以出现0或以上次数。
    (2) + 表示可以出现1或以上次数。
    (3) 表示可以出现0或1次。
    (4) {n} 表示出现n次。
    (5) {n,} 表示出现大于等于n次。
    (6){n,m} 表示出现n-m次。
  6. 正则表达式中的括号:
  7. 中括号表示字符集合,匹配内部的任意字符。
  8. 大括号,量词符,表示重复次数,/^abc{3}$/ 表示只是让c重复三次,只能匹配到abccc字符串
  9. 小括号,表示优先级,/^(abc){3}$/ 表示让abc重复三次,另外在replace中可使用$1、$2等来表示匹配到的括号内的值,比如 /gai([\w]+?)over([\d]+)/ 匹配 gainover123 $1为括号里的 n $2为第2个括号里的 123,使用$n时需要加上引号。
  10. 预定义类:
  11. \d 表示匹配任意数字
  12. \D 表示\d的取反
  13. \w 匹配任意字母,数字和下划线
  14. \W 匹配\w的取反
  15. \s 匹配换行、制表、空格
  16. \S 匹配 \s取反
  17. 除此之外,可通过^来表示取反,如[^abcd]则表示匹配除abcd以外的所有字符
  18. 正则表达式参数:/表达式/[switch] , g:全局匹配, i:忽略大小写, gi: 全局匹配+忽略大小写
六、正则表达式中的替换
  1. replace方法中第一个参数可以是一个字符串或者是一个正则表达式。
  2. stringObject.replace(regexp/substr,replacement); //( stringObject为一个字符串),第二个参数是替换原字符串的字符串。该方法只能替换一次,但可以通过正则表达式全局匹配一次全部替换。
  3. 同时第二个参数也可以是一个函数,每匹配一次会执行一次该函数,该函数有三个参数,分别是匹配到的字符,匹配到的位置,原字符串(可通过argments查看)。如下(将该字符串转换为驼峰形式):
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值