我在 Sublime 文本中使用 HTML 编码特殊字符将所有特殊字符转换为它们的 HTML 代码。我在文件的不同部分有很多重音字符。所以,如果我可以选择所有特殊字符,然后使用插件一次转换,那就太好了!
是否有一个正则表达式可以帮助只选择所有特殊字符?
我在 Sublime 文本中使用 HTML 编码特殊字符将所有特殊字符转换为它们的 HTML 代码。我在文件的不同部分有很多重音字符。所以,如果我可以选择所有特殊字符,然后使用插件一次转换,那就太好了!
是否有一个正则表达式可以帮助只选择所有特殊字符?
是的。
Sublime 文本支持正则表达式,您可以选择所有非 ASCII(代码点 > 128)字符。这个正则表达式对你来说应该足够了:
[^\x00-\x7F]
只需搜索和替换。
但是,如果您首先进行手动 HTML 编码,那么您就做错了。将您的文件保存为 UTF-8 编码(默认为 Sublime Text 2),并确保您的 Web 服务器也以 UTF-8 格式发送这些文件。无需转换、编码或任何东西。
Sublime Text 2/3 包,名为Highlighter
,可以(正如他的名字所说)使用正则表达式突出显示一些字符...
“您还可以为要突出显示的字符添加自定义正则表达式。”
所以,有了这个包,加上@Mikko Ohtamaa
答案,我们可以编辑文件......
highlighter.sublime-settings -
User
...并包括建议的正则表达式,(此处表示为[^\\x00-\\x7F]
)最终得到如下内容:
{
"highlighter_regex": "(\t+ +)|( +\t+)|[^\\x00-\\x7F]|[\u2026\u2018\u2019\u201c\u201d\u2013\u2014]|[\t ]+$"
}
结果将是我们文件中任何“非ASCII(代码点> 128)字符”的自动突出显示。
请注意,这不会选择这些字符,只会突出显示它们以便轻松实现(如果有的话)。
我最近写了一个专门用于突出显示非 ascii 字符的插件: https ://github.com/TuureKaunisto/highlight-dodgy-chars
使用 Highlighter 可以实现完全相同的功能,但使用不太通用的 Highlight Dodgy Chars 插件,您无需编写正则表达式,您只需列出您不想在设置中突出显示的非 ascii 字符。欧洲特殊字符默认被列入白名单。