我正在尝试编写自己的代码语法荧光笔,但我唯一的困难是决定如何开始处理代码。例如,要解析每个令牌,我必须只使用正则表达式吗?或者也许我必须为每个空间拆分代码?还是每条线?我知道我必须能够在单词之间保持分隔以防止双重匹配。例如,如果我想搜索所有关键字,如“ this、var、in、return 等”,很明显在this.index中也匹配索引。
那么,根据您的经验,您的意见是什么?
我正在尝试编写自己的代码语法荧光笔,但我唯一的困难是决定如何开始处理代码。例如,要解析每个令牌,我必须只使用正则表达式吗?或者也许我必须为每个空间拆分代码?还是每条线?我知道我必须能够在单词之间保持分隔以防止双重匹配。例如,如果我想搜索所有关键字,如“ this、var、in、return 等”,很明显在this.index中也匹配索引。
那么,根据您的经验,您的意见是什么?
我宁愿建议你看看现有的解决方案。至于我 - 我对这款荧光笔印象深刻 - http://softwaremaniacs.org/soft/highlight/en/
它使用插件来解析不同的语言——你可能有很好的经验。