未捕获的SyntaxError:意外的令牌;

我得到Uncaught SyntaxError: Unexpected token ; THE LINE NUMBER

  // HTML Helper var documentHtml = function(html){ // Prepare var result = String(html) .replace(/]*>/i, '') .replace(/])/gi,'<div class="document-$1"$2') .replace(//gi,'
') ; // << THE LINE NUMBER // Return return $.trim(result); };

不确定是什么问题。

问题是:

 //gi 

在撰写本文时,SO的突出显示原始问题:正则表达式似乎是/

它应该是:

 /<\/(html|head|body|title|meta|script)>/gi 

由于Javascript使用正斜杠来分隔正则表达式,因此必须使用反斜杠转义其中的任何正斜杠。


使用正斜率的正则表达式的IMO是JavaScript最不幸的语法决定:

  1. 由于/启动多行注释,单行注释,除法和正则表达式,解析JavaScript很困难。 (Sublime,我的编辑选择,错了.Dreamweaver弄错了。)

  2. 它使URI / URL的正则表达式特别难看。

尝试改变:

 .replace(//gi,'') 

至:

 .replace(/<\/(html|head|body|title|meta|script)>/gi,'<\/div>') 

你需要在Javascript中转义/使用\