UDL2.0(notepad++)中关于字符串末尾数字的奇怪问题

UDL2.0(notepad++)中关于字符串末尾数字的奇怪问题

我目前正在为一种混合了 lua 和 xml 的语言编写一些自定义语法突出显示(不要问)。由于 lua 包含在 xml 节点中,因此 lua 代码必须放在引号内,因此我将 " 设置为分隔符,并将所有与 lua 相关的关键字和分隔符嵌套在 " 分隔符中。

这完全没问题,除了当我嵌套数字时,这会导致变量名称末尾的数字出于某种原因被突出显示为数字,尽管引号之外的情况并非如此。为什么字符串末尾的数字(例如 foo23)在嵌套时突然被视为数字?

注意:字符串中间的数字没有突出显示,因此 foo23f 正常出现。

答案1

我找到了解决方案在 notepad++ 讨论论坛上:

我设法通过在前缀模式下将所有数字添加为关键字来解决这个问题。然后只在 () 分隔符中嵌套关键字而不是数字。我认为有一个选项可以强制数字要求前面有空格才能突出显示(当然不包括指定的前缀),这可能是不错的选择。但这可能没有任何意义。

这非常有效。

相关内容