当前位置:   article > 正文

正则表达式在JavaScript中使用_正则如何写在js里直接引用

正则如何写在js里直接引用

一、正则表达式的创建
在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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

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哈哈
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/781521
推荐阅读