Javascript JSFIDLE在此正则表达式上失败?

Javascript JSFIDLE在此正则表达式上失败?,javascript,regex,replace,Javascript,Regex,Replace,我正在原型化一些文本处理,为编码准备研究数据,我在JSFIDLE中有一个javascript替换语句,但我不知道为什么: mE[1] = mE[1].replace(/<p.*>/ig, '');­ // <<< this line mE[1]=mE[1]。替换(//ig',);首先,不要将regexen用于HTML。有一些图书馆可供使用。你不能用正则表达式解析HTML。第二,你需要更具体一些。说“炸弹替换声明”并没有告诉我们错误的性质。最后,如果您感到好奇

我正在原型化一些文本处理,为编码准备研究数据,我在JSFIDLE中有一个javascript替换语句,但我不知道为什么:

   mE[1] = mE[1].replace(/<p.*>/ig, '');­ // <<< this line

mE[1]=mE[1]。替换(//ig',);首先,不要将regexen用于HTML。有一些图书馆可供使用。你不能用正则表达式解析HTML。第二,你需要更具体一些。说“炸弹替换声明”并没有告诉我们错误的性质。最后,如果您感到好奇,regex是贪婪的,因此它将不加区别地替换输入中从第一个以字母p开头的HTML标记到最后一个
的所有内容。如果您真的想使用它,请将其设置为非贪婪,并确保它与以字母p开头的其他标记不匹配。我不打算具体说明,因为这样做是错误的答案。

问题似乎是这行中某个地方的实际非法字符,我认为这与正则表达式无关。尝试从头开始键入整行,然后删除该行。当我这样做的时候,小提琴工作得很好(好吧,它至少没有得到那个错误)

编辑-非法字符正好位于该行分号之后。从“this line”注释上的“/”开始,单击backspace几次以删除伪字符和分号,然后重新键入分号


再编辑一些-字符是序列C2 AD(十六进制)。

您试图用正则表达式处理HTML吗?你们是否意识到这次尝试可能会有什么后果?只是确保在造成进一步的伤害之前。我看不到那条线…@Gordon,你当然有选择。一个很好的选择可能是HTML解析器……尤其是JavaScript,它在环境中内置了一个高级DOM解析器。@Gordon您有JavaScript,在浏览器中运行,上面有jQuery。在没有正则表达式的情况下,这不仅仅是解决这个问题所需要的,而且比现在更优雅。当然你可以选择。他在好几个地方都有非贪婪的操作符。谢谢!我还在学习正则表达式。(我想我描述了错误的性质)你所说的图书馆是什么?我需要获取网页并吐出纯文本,插入制表符(根据使用的html)以创建用于编码和统计处理的数据文件。(考虑到我必须花时间学习,我认为没有一个库足够容易学习。@Gordon:有几个库非常容易学习。Regex不会为你节省时间,你为学习Regex而投入的任何时间都是浪费的,最好是花在学习如何使用DOM上解析器。比如什么库?有链接吗?这是一次性交易。是的!太深了!好吧。这个问题解决了。现在如何删除html标记的一个开头部分。哇,刚才发生了什么?当然,你找到了JS代码没有运行的原因,但是…说真的。这个错误与实际的“非法字符”有关在源代码中,可能是由于错误的剪切和粘贴。是的,我知道。真正的问题是解决简单问题的真正可怕的方法,而不是偶然的复制/粘贴故障。