Skip to content

regex

元字符

元字符描述
.句号匹配任意单个字符除了换行符。
[ ]字符种类。匹配方括号内的任意字符。
[^ ]否定的字符种类。匹配除了方括号里的任意字符
*匹配>=0个重复的在*号之前的字符。
+匹配>=1个重复的+号前的字符。
?标记?之前的字符为可选.
{n,m}匹配num个大括号之前的字符或字符集 (n <= num <= m).
(xyz)字符集,匹配与 xyz 完全相等的字符串.
|或运算符,匹配符号前或后的字符.
\转义字符,用于匹配一些保留的字符 [ ] ( ) { } . * + ? ^ $ \ |
^从开始行开始匹配.
$从末端开始匹配.

简写字符集

简写描述
.除换行符外的所有字符
\w匹配所有字母数字,等同于 [a-zA-Z0-9_]
\W匹配所有非字母数字,即符号,等同于: [^\w]
\d匹配数字: [0-9]
\D匹配非数字: [^\d]
\s匹配所有空格字符,等同于: [\t\n\f\r\p{Z}]
\S匹配所有非空格字符: [^\s]
\f匹配一个换页符
\n匹配一个换行符
\r匹配一个回车符
\t匹配一个制表符
\v匹配一个垂直制表符
\p匹配 CR/LF(等同于 \r\n),用来匹配 DOS 行终止符
(?: ... )这是一个非捕获的分组,表示一个子表达式,其中的内容将被整体匹配

常见

js
/[\w\u00A0-\uFFFF-_:%-?]/
/[\w\u00A0-\uFFFF-_:%-?]/
  • \w 匹配所有的单词字符,包括字母、数字和下划线
  • \u00A0-\uFFFF 匹配所有的 Unicode 字符,除了 ASCII 控制字符和空格(U+0020),因为这些字符已经被 \s 匹配到了。这个范围包括了大多数常用的字符
  • -_:%-? 匹配一些特殊字符,包括减号、下划线、百分号、冒号和问号。这些字符通常在 URL 和文件名中出现

/\[(\\\W|[\w-])+:['"]?\S+?['"]?\]
/\[(\\\W|[\w-])+:['"]?\S+?['"]?\]
  • [:匹配一个左中括号 [
  • (\\W|[\w-])+:一个或多个字符,可以是下划线、字母、数字、破折号 -,也可以是转义字符 \ 后面跟一个非单词字符,比如空格、标点符号等等
  • ::匹配冒号 :
  • ['"]?:可选的一个单引号或双引号
  • \S+?:非空白字符,非贪婪匹配
  • ['"]?:可选的一个单引号或双引号
  • ]:匹配一个右中括号 ]