【发布时间】:2014-10-02 13:01:50
【问题描述】:
全部,
我正在尝试使用 ACE 编辑器创建自己的模式。我正在尝试定义一个非常简单的语法高亮规则:
this.$rules = {
"start": [
{
token : "string",
regex : /(?:CONSUME)(MATCH)/,
}
]
};
根据在线 Javascript 正则表达式测试器,正则表达式 /(?:CONSUME)(MATCH)/ 应该看到 CONSUMEMATCH 并仅返回 MATCH。但是,ACE 使用此规则突出显示所有 CONSUEMATCH。
将以下代码插入 Ace Mode Creator (http://ace.c9.io/tool/mode_creator.html) 以亲自查看。
(在下拉菜单中,我选择了Javascript模式和XCode主题。CONSUEMATCH是我的测试文本,下面的代码是模式面板的内容。)
define(function(require, exports, module) {
"use strict";
var oop = require("../lib/oop");
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
var myHighlightRules = function() {
this.$rules = {
"start": [
{
token : "string",
regex : /(?:CONSUME)(MATCH)/,
}
]
};
};
oop.inherits(myHighlightRules, TextHighlightRules);
exports.myHighlightRules = myHighlightRules;
});
【问题讨论】:
标签: javascript regex editor ace-editor regex-lookarounds