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+?:非空白字符,非贪婪匹配
- ['"]?:可选的一个单引号或双引号
- ]:匹配一个右中括号 ]