一、html 相关

1、去掉所有 html 标签,并保留内容: /<[^>]+>/g

2、去除 html 注释并删除其中的内容: /<!--[\s\S]*-->/g

二、字符串匹配

1、匹配任意空白字符: /\s+/

2、匹配中文字符: [\u4E00-\u9FA5]+

3、IP地址:/((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/

三、字符截取

1、截取两个字符串之间的内容

示例1:

'21312tsdasd'.match(/3(\S*)d/)[1] //匹配3和d之间的内容,输出 12tsdas

示例2:

'${a}-${b}'.match(/(?<=\${).+?(?=\})/g) // 使用零宽断言,获取所有${}包裹的内容,输出['a','b']

2、截取某个字符串前面的内容,同上,不过拿掉了前面的字符串

"21312tsdasd".match(/(\S*)d/)[1]; // 21312tsdas

3、截取某个字符串后面的内容,第一个示例拿掉后面的字符

"21312tsdasd".match(/12(\S*)/)[1];  // tsdasd

附:

常用元字符

  • . - 匹配除换行符以外的任意字符
  • \w - 匹配字母或数字或下划线或汉字
  • \s - 匹配任意的空白符
  • \d - 匹配数字
  • \b - 匹配单词的开始或结束
  • ^ - 匹配字符串的开始
  • $ - 匹配字符串的结束

常用限定符

      • 重复零次或更多次
      • 重复一次或更多次
  • ? - 重复零次或一次
  • {n} - 重复n次
  • {n,} - 重复n次或更多次
  • {n,m} - 重复n到m次

常用的反义代码

  • \W - 匹配任意不是字母,数字,下划线,汉字的字符
  • \S - 匹配任意不是空白符的字符
  • \D - 匹配任意非数字的字符
  • \B - 匹配不是单词开头或结束的位置
  • x - 匹配除了x以外的任意字符
  • aeiou - 匹配除了aeiou这几个字母以外的任意字符

参考文献:

正则表达式30分钟入门