我刚刚实现了一个简单的模式来识别乳胶代码。 这是一个可以突出显示的代码示例:
\documentclass{test}
应该有所有蓝色,但“测试”除外应为紫色。这就是我的实现像atm的样子:
const CodeMirror = require('codemirror')
CodeMirror.defineSimpleMode("simplemode", {
start: [
{
regex: /(?<=\{).+?(?=\})/,
token: 'argument'
},
{
regex: /%.*/,
token: 'comment'
},
/*{
regex: /\\.*{.*}/,
token: 'tag'
},*/
{
regex: /\$.*\$/,
token: 'math'
}
],
meta: {
dontIndentStates: [],
lineComment: '%'
}
})
我删除了标签部分,因为我认为它会与标签重叠。无论如何,即使所有正则表达式在javascript的正则表达式测试器中都完美匹配,反向查找和向后查找也不起作用。 有任何解决方法,修复方法或错误方法吗?