我正在尝试将正则表达式用于代码镜像中的简单模式。
我测试它的最小代码:
CodeMirror.defineMode("regex", function() {
return {
token: function(stream, state) {
console.log(stream);
a = stream.match(/word/);
console.log(a);
stream.skipToEnd();
return null;
}
};
});
第一遍的输出是:
Object { start: 74, pos: 74, string: "This is a sentence with word and key in it, and word and key are repeated.", tabSize: 4, lastColumnValue: 0, lastColumnPos: 0, lineStart: 0 } regex.js:5
null
如果我使用字符串“word”而不是正则表达式,它会记录“undefined”而不是“null”。
代码镜像文档(http://codemirror.net/doc/manual.html)说(功能匹配):
模式可以是字符串或以 ^ 开头的正则表达式
我不清楚(^ 表示正则表达式的“不”?)
这是我第一次使用 codemirror、正则表达式和 javascript,所以我可能会遗漏一些明显的东西。