【发布时间】:2016-08-12 12:59:02
【问题描述】:
我编写了正则表达式来突出显示多行字符串,并在 regexr.com 上对其进行了测试,它提供了正确的突出显示。但这在厨房水槽中测试时不起作用。
正则表达式:(["]\n(['].*\n)*(\s)*["])
{
token : "multistring", // multi line string
regex : '(["]\n([\'].*\n)*(\s)*["])'
}
文件:
css:pastebin
highlighting_rules:pastebin
正则表达式规则:
正则表达式应以引号 (") 开头,以引号 (") 作为行上的第一个字符结束。在这两者之间,每一行都应该以撇号 (') 开头。
有效的多行示例:
//1=========================
"
'This
"
//2=========================
"
'This
'That
"
//3=========================
"
'This
'That
"
//4=========================
"
'This
'That
"
无效的多行示例:
//5=========================
"
WRONG'This
"
//6=========================
"Stuff
'This
"
任何帮助将不胜感激!
【问题讨论】:
-
请edit 发布您正在使用的实际 JavaScript 代码。您如何从发布的字符串到 RegExp 对象?
-
我已经编辑了这篇文章并包含了更多关于 Ace 而不仅仅是 Javascript 的信息。正则表达式保存为变量中的字符串,稍后在 ace 库中传递。您可以在第 49 行的 w highlight_rules 链接中看到语法。谢谢
-
ace标签是ACE C++库的,好像不是你使用的库
-
目前的问题是 Ace 逐行读取。所以我发布的正则表达式永远不会起作用。
标签: javascript regex string multiline ace-editor