Appearance
常用正则
通用
字符
双字节字符
regex
[^\x00-\xff]ASCII
可见字符
regex[ -~]可见字符(排除空格)
regex[!-~]
中文
regex
[\u4e00-\u9fa5]中文标点符号
regex
[\u2010-\u202F\u3000-\u303F\uFE40-\uFE4F\uFF00-\uFFEF]\u2010-\u202F:General Punctuation(通用标点),如:—‘’“”…\u3000-\u303F:CJK Symbols and Punctuation(中日韩符号和标点),如、。〈〉《》「」『』【】〔〕\uFE40-\uFE4F:CJK Compatibility Forms(兼容符号),如﹃﹄\uFF00-\uFFEF:Halfwidth and Fullwidth Forms(半角及全角字符),如!(),:;?~¥
英文标点符号
regex
[\u0021-\u002F\u003A-\u0040\u005B-\u0060\u007B-\u007E]Emoji
regex
(?:\p{Emoji_Presentation}|\p{Emoji}\uFE0F)(?:\u200D(?:\p{Emoji_Presentation}|\p{Emoji}\uFE0F))*\p{Emoji_Presentation}:Unicode 中 “天然显示为 emoji 的字符”,例如 😀 ❤️ 🐱\p{Emoji}:所有 emoji 相关字符(包括符号、字母等)\uFE0F:Emoji Variation Selector-16(VS16),强制字符以 emoji 形式显示\u200D:Zero Width Joiner(ZWJ,零宽连接符)
VS16
有些字符默认不是 emoji,但加上 \uFE0F 后会变成 emoji,例如:
- ✈(普通符号)
- ✈️(emoji 版本,带
\uFE0F)
ZWJ
ZWJ 用来把多个 emoji 组合成一个复合 emoji,例如:
- 👨 + ZWJ + 👩 + ZWJ + 👧 = 👨👩👧(家庭)
上下标
上标数字
regex[\u2070\u00b9\u00b2\u00b3\u2074-\u2079]下标数字
regex[\u2080-\u2089]
空白行
由空白字符(
\s)组成的行regex^\s+$由空白字符(
\p{Z})组成的行regex^\p{Z}+$连续的空白行
regex^(\p{Z}*\n)+(\p{Z}*$|\n)
转义字符
正则表达式中需要转义的特殊字符有:.、^、$、*、+、?、{、}、(、)、[、]、|、\。对应匹配的正则表达式如下:
regex
[\.\^\$\*\+\?\{\}\(\)\[\]\|\\]组合
带中括号的 GUID
regex
\{[0-9A-Za-z\-]{36}\}CSharp 插值定位符
基础
regex\{\d+\}没有被单引号包裹的
regex(?<!'|")\{\d+\}(?!'|")
Markdown
优雅地处理 Markdown 空格
任一边可能需要补空格的
regex(?<=[\u4e00-\u9fa5])[\w+/%~\(\)\{\}`'",\.]|[\w+/%~\(\)\{\}`'",\.](?=[\u4e00-\u9fa5])两边都需要补空格的
regex(?<=[\u4e00-\u9fa5])[+/%~\{\}`'",\.]*?(\w+[+/%~\{\}`'",\.]*?)+(?=[\u4e00-\u9fa5])前边需要补空格的
regex(?<=[\u4e00-\u9fa5])[0-9A-Za-z+%\{]|(?<=[\u4e00-\u9fa5\w])[‘“—]后边需要补空格的
regex[0-9A-Za-z+%\},](?=[\u4e00-\u9fa5])|[’”—](?=[\u4e00-\u9fa5\w])前/后边需要剔除空格的
regex(?<=[^\| ]) +(?=[,’”、。〈〉《》「」『』【】〔〕﹃﹄!(),:;?])|(?<=[‘“、。〈〉《》「」『』【】〔〕﹃﹄!(),:;?]) +(?=[^\| ])|(?<=[\u4e00-\u9fa5]|\*\*) (?=[\u4e00-\u9fa5]|\*\*)
Markdown 转义字符
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|
\ | ` | * | _ | { | } | [ | ] |
( | ) | # | + | - | . | ! | | |
匹配所有需要转义的字符
regex[\|\+`#\\\*\}\{\]\[\)\(\.!\-_]匹配 Obsidian 中需要转义的字符
regex[\|`#\\\*\[_]
Markdown 风格链接
通用:
regex\[([^\]\n]+)\]\(([^\)\n]+)\)带标题:
regex\[[^\]\n]+\]\([^\)\n]+\.md#[^\)\n]+\)引用链接:
regex\[[^\]\n]+\]\[[^\]\n]*\]
图表编号
regex
(图|表) (\d+\.\d+)mark 标签
regex
(<mark[^>]*>)(.*?)(</mark>)SQL
增/删/改关键字匹配
regex
(insert|update|delete|drop|alter|truncate|merge|exec)新增/修改存储过程
regex
(create|alter)\s+(procedure|function|proc|func|view).+表注释语句匹配
regex
(^exec\s+(sys\.)?(sp_updateextendedproperty|sp_addextendedproperty)(.|\n)+?(?=^GO)GO\n\n?)+MyBatis 参数
regex
#\{([\w\d\.]+)(,[\w\d\.=]+)*\}