2013-02-12 62 views
1

我遇到了几个正则表达式的问题,我几乎得到了更早的工作。我基本上需要从特定的<span>标签的任一侧删除HTML注释。regex swapping评论HTML输入输出

这是我到目前为止有:

.replace(/<!--<span aria-hidden=\"true\" data-icon=\"e\"/, 
     '<span aria-hidden="true" data-icon="e"') 

.replace(/onclick=\"deletetodo(this)\"><\/span>-->/, 
     'onclick="deletetodo(this)"></span>'); 

也许我在这个一直盯着太久,我看不出明显的错误,但如果有人知道为什么这不会摆脱<!---->标签,你会为我节省一大笔头痛!

谢谢。

多排只用于SO,在代码中它们在一条线上。 [/编辑]

+0

可能存在原始字符串更多的空白? HTML往往是这样的。 – Halcyon 2013-02-12 23:33:22

+1

尝试用单引号包裹模式字符串而不是用'/ /' – charlietfl 2013-02-12 23:58:01

+0

你是如何使用它的,因为你需要它?似乎你[滥用正则表达式](http://stackoverflow.com/a/1732454/1048572) – Bergi 2013-02-13 00:01:40

回答

2

括号应该在正则表达式中作为字符串的一部分进行转义;你应该尝试:

.replace(/onclick=\"deletetodo\(this\)\"><\/span>-->/, ... 

,而不是

.replace(/onclick=\"deletetodo(this)\"><\/span>-->/, ... 
+0

这样做,再加上建议︰交换'\“'只有'''像一个魅力工作! – lukeseager 2013-02-13 11:35:58