js正则表达式

今天给大家分享一下js正则表达式
正则表达式:又称规则表达式,通常被用来检索、替换那些符合某个模式的文本。
首先我们先来看一下怎么声明正则表达式

声明正则表达式

1.通过new声明正则表达式

var box = new RegExp("hello","ig");

2.省略new运算符声明正则表达式

var box = RegExp("hello","ig");

3.通过常量赋值

/hello/ig;

正则中我们可以传入两个参数:

  • 正则主体部分,一般情况下就是字符串
  • 修饰符(没有先后顺序)
    i 忽略大小写
    g 全局匹配
    m 换行匹配

正则表达式的方法

正则表达式对象只有两个方法

  • test
    格式:正则.test(字符串)
    功能:在字符串中匹配这个正则是否存在
    返回值:匹配成功返回true,匹配失败返回false
  • exec
    格式:正则.exec(字符串)
    功能:在字符串中匹配这个正则是否存在
    返回值:返回匹配到的字符串,匹配成功。返回一个装有字符串的数组,匹配失败,返回null。

字符串的函数

  • match()
    格式:字符串.match(正则)
    功能:在字符串匹配是否有符合正则表达式
    返回值:匹配成功,返回装有匹配到子串的数组。匹配失败,返回null。
var str = "i love Love LOVE you"
var box = /love/ig;
alert(str.match(box)); //love Love LOVE
  • relpace()
    格式:字符串.replace(oldStr/正则, newStr);
    功能:用newStr将oldStr替换
    返回值:替换成功的新字符串
var str = "i love Love LOVE you"
var box = /love/ig;
var newStr = str.replace(box,"miss");
alert(newStr); //i miss miss miss you
  • split()
    格式:字符串.split(分割符/正则);
    功能:用分割符将原字符串进行分割
    返回值:分割剩下的子串组成的数组
var str = "i love Love LOVE you"
var box = /love/i;
var arr = str.split(box);
alert(arr); //i ,,, you
  • search()
    格式:字符串.search(子串/正则)
    功能:找到符合条件的子串第一次出现的位置
    返回值:如果找到,返回>=0的下标。否则返回 -1
var str = "i LOVE love you"
var box = /love/i;
alert(str.search(box)); //2

元字符

元字符是在正则表达式中有特殊含义的字符

单个数字和字符的元字符

  • .(这是一个点哦)
    匹配单个的任意字符

  • [范围]
    匹配单个范围内的字符

  • [0-9]
    匹配单个数字

  • [a-zA-Z0-9]
    匹配单个的数字、字母、下划线

  • [^范围]
    匹配任意一个除了括号范围内的字符

  • [^0-9]
    匹配任意一个非数字字符

  • \w
    匹配单个数字、字母、下划线,等价于[a-zA-Z0-9]

  • \W
    匹配单个非数字、字母、下划线

  • \d
    匹配单个数字,等价于[0-9]

  • \D
    匹配单个非数字,等价于[^0-9]

空白字符

  • \s
    匹配任意单个的空白字符

  • \S
    匹配任意单个非空白字符

重复字符x(任意的单个字符)

  • x?
    匹配0个或一个x

  • x+
    匹配至少一个x字符

  • x*
    匹配任意个x字符

  • x{m, n}
    匹配至少m个,最多n个x字符,包括n

  • x{n}
    必须匹配n个x字符

  • (abc)
    小括号括起来的部分当作单个字符处理

锚字符

  • ^
    行首匹配,必须以这个正则开头

  • $
    行尾匹配,必须以这个正则结尾

以上就是正则表达式的一些重点,希望对大家有所帮助。如果有错误的地方还望指出。

上天不会亏待努力的人,也不会同情假勤奋的人,你有多努力,时光它知道。喜欢的小伙伴一起加油吧!!
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值