![gnome-terminal 突出显示以右括号结尾的 URL](https://linux22.com/image/1202127/gnome-terminal%20%E7%AA%81%E5%87%BA%E6%98%BE%E7%A4%BA%E4%BB%A5%E5%8F%B3%E6%8B%AC%E5%8F%B7%E7%BB%93%E5%B0%BE%E7%9A%84%20URL.png)
当gnome-terminal
3.6.2 突出显示以 结尾的 URL时)
,它会错误地忽略)
。此类 URL 可以在具有消歧义页面的 wiki 中找到,例如http://zelda.gamepedia.com/Ocarina_of_Time_(Item)
或维基百科中的数千个。
如何修复此问题?
答案1
严格来说,这本身并没有什么错误,因为没有标准来描述如何定位文本中链接的准确边界。这有点儿像猜测,因此,总会有它不能完全按照你的期望去做的情况。
URL 有时会出现在括号内,例如(http://example.com)
,这里所需的行为是排除右括号。
定位 URL 的正则表达式在gnome-terminal
3.18.3 版中被完全重写。但是,新的行为也不是您想要的。新行为在字符之前终止 URL (
。
这些正则表达式是不可配置的,您必须编辑gnome-terminal
的源代码并重新编译才能更改它们。
更新:在错误 763980我们进一步改进gnome-terminal
,以正确处理这两种情况。从版本 3.25.1 开始,它允许在 URL 中使用匹配的括号对。因此,在http://example.com/foo_(bar)
(或您的示例中)中,尾随括号将成为 URL 的一部分,而在(http://example.com/foo)
则不是。