语法突出显示的问题

时间:2011-09-18 13:56:21

标签: syntax-highlighting

我正在用C ++编写一个用于Python语言的IDE,我已经为Python语言语法编写了一个语法高亮显示器。但我有两个问题:

  1. 我的高阶数字正则表达式是'\ d +'。它突出了代码中无处不在的数字。例如,它突出显示'Qt4'中的'4',我想在这种情况下不会突出显示数字。

  2. 我的正则表达式模式,用于两个'''之间的高调字符串是'\“。* \”'。它有效,但有一个问题。 它甚至突出显示案例为“一些text1”一些text2“some text3”',我想它不会 突出'some text2'。

  3. 这两个问题的解决方案是什么?

1 个答案:

答案 0 :(得分:1)

正如评论中已经提到的,使用正则表达式解析语言可能不合适。

关于你的两个问题:

  1. 您可以使用字词边界来规避此行为:\b\d+\b
  2. 让你的表达非贪婪:\".*?\"
  3. 注意:如前所述,这些只是解决方法,在任何情况下都可能不正确。