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