Yaozhuwa / easy-typing-obsidian

This is a plugin of obsidian for users writing in an easy way.
501 stars 14 forks source link

如何用正则表达式排除emoji在标签内时自动空格? #144

Closed HopeLightning closed 1 year ago

HopeLightning commented 1 year ago

需求阐述

因为Ob的知识图谱不能修改节点的样式,所以想利用标签使得各个节点的内容更直观一点,比如输入 #阅读笔记📖 的时候,不会在中间插入空格。我记得之前某个版本的时候好像已经不会插入空格了,但后来不知怎么的又出现了。。。

我的尝试

添加正则表达式规则

因为我没系统学过正则表达式,所以到网上找了下表示Emoji的正则表达式如下: /(\ud83c[\udf00-\udfff])|(\ud83d[\udc00-\ude4f\ude80-\udeff])|[\u2600-\u2B55]/g

于是我按照文字提示添加了规则如下: /(\ud83c[\udf00-\udfff])|(\ud83d[\udc00-\ude4f\ude80-\udeff])|[\u2600-\u2B55]/g|--

但发现不起作用,于是我发挥我瞎捣鼓的尝试天赋,将规则修改如下: \(\ud83c[\udf00-\udfff])|(\ud83d[\udc00-\ude4f\ude80-\udeff])|[\u2600-\u2B55]/g 这回识别含有emoji📖的标签生效了,不会在📖和文字中间添加空格,但是会导致Ob中使用“-”编辑列表换行时多出两个换行符

我隐约感觉到能实现这个效果是误打误撞,但我已经绕得有点晕了,有没有大佬能解答一下我该怎么修改呀?

Yaozhuwa commented 1 year ago

删除默认自定义正则表达式中的以下正则即可:

image