javascript - 查找开头和结尾引文

标签 javascript syntax-highlighting

我开始用 JavaScript 编写一个代码语法荧光笔,我想以某种颜色突出显示引号中的文本(“s 和 s”)。我需要它不会被搞乱一种类型的引用也位于一对其他引用的中间,但我真的不知道从哪里开始。我不知道应该如何找到引用,然后找到正确的引用结束报价。

最佳答案

除非您这样做是为了应对挑战,否则请查看 Google Code Prettify .

对于您的问题,您可以阅读 parsing (and lexers) at Wikipedia 。这是一个很大的主题,您会发现您会遇到比解析字符串更大的问题。

首先,您可以使用正则表达式(尽管它们很少具有真正词法分析器的准确性。)匹配字符串的典型正则表达式是:

/"(?:[^"\\]+|\\.)*"/

然后对 ' 进行同样的操作,而不是 "

否则,对于逐个字符的解析器,您将设置某种状态,即一旦您点击 ",然后当您点击 " 前面没有不均匀数量的反斜杠(均匀数量的反斜杠会互相转义),则退出字符串。

关于javascript - 查找开头和结尾引文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1198635/

相关文章:

javascript - 如何创建具有二维数组的函数并在同一位置添加元素?

javascript - 外部函数到类方法的内联绑定(bind)

javascript - 如何轮询在 Javascript 中动态加载的模块

Vim:在语法区域内启用不同类型的语法高亮?

ios - Xcode 8.3 自动完成和语法突出显示不起作用

javascript - Firefox 中奇怪的 JavaScript 滚动

javascript - 从网页执行 Linux 命令

python - 带有 Python 语法高亮显示的 HTML 演示幻灯片

嵌入 Java 应用程序的 JavaScript 编辑器组件

c++ - Xcode 8.3.3 C++ 中的错误语法突出显示