正则表达式

70 阅读2分钟

属于字符串的相关操作,字符串的格式很多种,可以用某些规则来约束

正则表达式是js中一种对象

image.png

  • 创建方法
  1. 直接量:其本身是一个对象,表达的意义是一种规则。 (1)在两个斜杠中间写规则。
 var reg = /abc/;
  var str = "abcd";
  re = reg.test(str); //,检查在字符串str中有没有符合reg规则得字符
  console.log(re)

image.png

(2)在正则表达式得双斜杠后边还可以加字母i、g、m,表达其属性。

image.png

2. 构造方法RegExp()

  var reg = new RegExp("你好")
  var str = "你好亦晗666"
  var res = reg.test(str)
  console.log(res)

image.png

   reg=/^a/g;//插入符^指的是以字母a为开头
   reg=/a$/g;//插入符^指的是以字母a为结尾
  1.  方括号 方括号用于查找某个范围内的字符

image.png var reg=/\.(jpg|png)$/ //.jpg 或者 .png结尾

一个中括号代表一位,中括号里边的内容代表的是这一位可以取值的范围(多位写多个[])

(1)插入符^放到[]里边表示"非"的意思

  var reg = /[^a][^b]/g; //插入符^放到[]里边表示"非"的意思
  var str = "ab1cd";
  re = str.match(reg);
  console.log(re)

image.png

  1. 元字符

image.png

若要在正则表达式里匹配反斜杠\,直接写/\/是不行的,需要加上转义字符/\\/ 空白字符包括:空格符[ ]、制表符\t、回车符\r、换行符\n、垂直换行符\v、换页符\f

  var reg = /\d\d\d/g;
  var str = "1a340ad";
  re = str.match(reg);
  console.log(re)

image.png

  1.  量词,代表数量的词 下面表达式的n代表的是一个匹配规则,n后边符号的符号定义量词规则。 image.png

  2.  正则对象方法

image.png

  var reg = /[a-z]{3}[1-7]/g
  var str = "aaa5ABC3ccc9bbb1qwetret"
  var arr = reg.exec(str) //即使多个符合也只返回第一个匹配到的
  console.log(arr)

image.png

  1. 正则实例属性 (1)ignoreCase 是否设置了i

(2)global 是否设置了g

(3)multiline 是否设置了m

(4)source 字面量形式对应的字符串

(5)lastIndex 开始搜索下一个匹配项的字符位置,默认0

  1. 支持正则表达式的String对象的方法

image.png