2013-07-12 81 views
3

这里是正则表达式:/<\?nib.+\?>/im为什么不能使用这个正则表达式?

我测试其上的文件是这样的:

<html> 

<head> 
<title>OPEN LARK</title> 
</head> 

<body> 
<h1>THIS IS A HEADER 

    <?nib 
      asdf 
    ?> 
</h1> 
</body> 

</html> 

我越来越不匹配。我怎样才能解决这个问题?

+3

@ p.s.w.g:小心,因为ruby中的m与其他正则表达式中的s相似,但在javascript中m意味着逐行模式。 –

回答

8

您正在使用.匹配多线更换点。这不是在Javascript中实现的。检查this answer的解决方法。

关于解决方法:

相反的点,使用类和否定匹配一切。例如,将.替换为[\s\S]

+0

谢谢。它现在可以工作 – turnt

+0

没问题。不要忘记考虑接受你的问题的答案。 – Racso

4

因为点(.)与换行符不匹配。

在JavaScript的方式是[\s\S]

相关问题