正则表达式

一、正则表达式的介绍

正则表达式(Regular Expression)是一个描述字符模式的对象, 用于对字符串进行匹配, 一般用在有规律的字符串匹配中; 如: 匹配用户名是否正确, 邮箱是否正确等。

二、使用方式

(1)使用new

         //使用new关键词 参数一是匹配的对应的正则表达式 参数二模式
        //i表示不区分大小写  g表示全局搜索
        var regx1 = new RegExp('a','i')
        var str1 = 'ABC'
        console.log(str1.match(regx1));

(2)采用字面量方式

        var regx = /a/ //表示匹配a
        //字符串支持正则的方法 replace split search match
        var str = 'abcdef'
        console.log(str.match(regx));
        regx = /a/i
        console.log('ABC'.match(regx)); 

三、正则匹配的元字符

[] 表示里面任意的一个元素
^ 表示开头
$ 表示结尾
{} 表示个数
        var regx2 = /[a-z]{6}/ //表示6个小写的字母
        regx2 = /[a-z]{0}/ //表示0个字母
        regx2 = /[a-z]{1,3}/ //表示1个到3个
        regx2 = /[a-z]{1,}/ //表示1个到无穷个

{n} 表示n个
{n,m} 表示n个到m个
{n,} 表示n个到无穷个

+ 表示一个到多个
* 表示0个到多个
? 表示0个到一个
. 表示所有的内容(包括中文字符)
\w 表示对应的字母数字下滑线 \W 就是相反的 不是字母数字下滑线
\d 表示数字 \D表示非数字
\s 表示空白字符串(回车 制表 空格) \S就是相反的 不是空白字符
() 分组
| 或者
转义 \
        //匹配 ? * + .等元字符 转义\
        var regx10 = /^[?]$/
        console.log('?'.match(regx10));
        var regx10 = /^[*]$/
        console.log('*'.match(regx10));
        //用转义字符来
        var regx10 = /^\*$/
        console.log('*'.match(regx10));
        var regx10 = /^\.$/
        console.log('.'.match(regx10));

四、正则的检测方法

(1)test 测试 返回一个boolean类型值(是否匹配)

var regx = /\w/
console.log(regx.test('abc')) //true

(2)exec 执行 返回给你一个对应的匹配的数组(如果有就返回一个数组)

var regx = /\d/
console.log(regx.exec('123')) //[1,2,3]

五、字符串支持正则的4个方法

  • split 切割
  • replace 替换
  • search 查找
  • macth 匹配
posted @ 2022-08-11 19:13  ^-^!  阅读(191)  评论(0编辑  收藏  举报