正则表达式(笔记)

167 阅读2分钟

本文仅用于记录本人学习正则表达式的一些使用方法,便于以后使用时查找,本文的内容参考自正则表达式30分钟入门教程,如需系统学习正则表达式可点以上链接。

推荐两个网站:

正则表达式测试网站:https://regex101.com

正则表达式可视化工具:https://jex.im/regulex

声明

在 JavaScript 中声明正则表达式有两种方法:

  1. 创建一个正则表达式对象
regexp = new RegExp("pattern", "flags");
  1. 使用//包裹正则表达式,斜杠的作用是为了告诉 JavaScript 我们正在创建一个正则表达式。

常用的元字符

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

常用的限定符

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

常用的反义

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

字符转义

如果需要查找的内容是元字符本身,则需要转义,转义通过\来进行。如果需要查找. * \ 等字符,则需要使用\. \* \\ 来转义。其他的元字符同理。

分支条件

正则表达式里的分枝条件指的是有几种规则,如果满足其中任意一种规则都应该当成匹配,具体方法是用|把不同的规则分隔开。

未提及的内容和较深入的部分请参考开头提供的链接里面的教程。