正则表达式在JavaScript中使用

一、正则表达式的创建
在JavaScript可以通过两种方式创建正则表达式:通过调用RegExp对象的构造函数创建;利用字面量创建。
通过调用RegExp对象的构造函数创建形式为:var 变量名=new RegExp(/表达式/)
利用字面量的创建形式为:var 变量名=/表达式/
两种创建形式类似于数组的两种创建形式。
二、正则表达式的组成
正则表达式的组成,正则表达式可以由简单的字符构成,比如/abc/,也可以是简单和特殊的字符组成,比如/ab*c/。其中特殊字符包括元字符和修饰符,以下边界符、字符类和量词符属于元字符。
正则表达式特殊字符:
1、边界符
边界符用来提示字符所处的位置,主要有两个字符:^和 , 表 示 匹 配 行 首 的 文 本 , ,^表示匹配行首的文本, 表示匹配行尾的文本

      var rg =/^abc/ //正则表达式里面不需要加引号,不管是数字型还是字符型
      console.log(rg.test('abcd'))//true,以abc开头
      console.log(rg.test('aabcd'))//false,不以abc开头
      var rg1 =/^abc$/ //正则表达式里面不需要加引号,不管是数字型还是字符型
      console.log(rg.test('abc'))//true,必须是abc
      console.log(rg.test('abcd'))//false,必须是abc
      console.log(rg.test('aabcd'))//false,必须是abc

2、字符类
字符类:[]表示有一系列字符可供选择,只要匹配其中一个就可以了

      var rg2=/[abc]/
      console.log(rg2.test('aabc'))//true,只要匹配一个就可以
      console.log(rg2.test('aabcd'))//true,只要匹配一个就可以
      console.log(rg2.test('red'))//false,一个匹配都没有
      var rg4=/^[a-zA-Z0-9_-]$/ //26个英文字母或者数字h或_或-任一个返回都是true
      console.log(rg4.test('A'))//true
      console.log(rg4.test('_'))//true
      console.log(rg4.test('1'))//true
      console.log(rg4.test('-'))//true

3、量词符
量词符用来设定某个模式出现的次数。*重复0次或更多次,+重复一次或更多次,?重复0次或一次,{n}重复n次,{n,}重复n次或更多次,{n,m}重复n到m次

      var rg8=/^a{3}$/ 
      console.log(rg8.test('a'))//false
      console.log(rg8.test('aaa'))//true
      console.log(rg8.test('aaaa'))//false
      var rg9=/^a{3,}$/ 
      console.log(rg9.test('a'))//false
      console.log(rg9.test('aaa'))//true
      console.log(rg9.test('aaaa'))//true
      var rg10=/^a{3,5}$/ 
      console.log(rg10.test('a'))//false
      console.log(rg10.test('aaa'))//true
      console.log(rg10.test('aaaaaaaaa'))//false

4、修饰符
修饰符不写在正则表达式里,修饰符位于表达式之外,常用的修饰符有i,g,m。
i ignore - 不区分大小写 将匹配设置为不区分大小写,搜索时不区分大小写: A 和 a 没有区别。
g global - 全局匹配 查找所有的匹配项。
m multi line - 多行匹配 使边界字符 ^ 和 $ 匹配每一行的开头和结尾,记住是多行,而不是整个字符串的开头和结尾。

var str1="abc123ABC"
      console.log(str1.replace(/abc/i,'哈哈'))//哈哈123ABC
      var str2="abc123ABC"
      console.log(str2.replace(/abc/gi,'哈哈'))//哈哈123哈哈
      var str3="abc123ABC\nabc123ABC"
      console.log(str3.replace(/abc/gim,'哈哈'))
      //哈哈123哈哈
      //哈哈123哈哈
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值