正则表示式用于对字符串模式进行匹配及检查替换,是对字符串模式匹配的工具。

一 语法


正则表达式有两种写法

1.RegExp对象

var partten = new RegExp(pattern,modifiers);

2.表达式

var patt=/pattern/modifiers;


  • pattern(模式)描述了表达式的模式
  • pattern(修饰符)用于指定全局匹配/区分大小写的匹配和多行匹配

二 修饰符

  1. i 大小写不敏感
  2. g 全局匹配
  3. m 多行匹配

三 元字符

参考链接
https://developer.mozilla.org...

四 一些正则案例

1.匹配所有引号

 let partten =/\"([^\"]*)\"/g;
 
 var str1='one "two three four" five  "seven eight" nine';
 console.log(str1.match(partten)[1]);
  //['"two three four"','"seven eight"']
 
 var str2='"beep boop" whatever "tacos" eleven "eighty"';
 console.log(str2.match(partten)[1]);
  //['"beep boop"','"tacos"','"eighty"']

 var str='empty ""';
 console.log(str.match(partten)[1]);
  //['""']

2.匹配一张名字为数字的 jpg 图片

let partten =/^([0-9]+).(jpe?g)$/;
console.log(partten.test(123.jpg)) //true
console.log(partten.test(123.jepg)) //true
console.log(partten.test(abc.jpeg)) //false
console.log(partten.test(123)) //false

3.正确的 split 字符串

 function split(str){
    return str.split(/\s*,\s*/);
 }
 split(`1,2,3`); //['1', '2', '3']
 split(`4, 5, 6, 7`); //['4', '5', '6', '7']
 split(`1337`); // ['1337']
 split(`a,\nb,\nc,\nd`); //['a', 'b', 'c', 'd']

4.匹配末尾是.

  function meta(str){
   return /\.$/.test(str);
  }
  meta(`abc.`); //true
  !meta(`abc`); // true
  meta(`...`); //`...`

alisa
167 声望5 粉丝