为什么这个正则表达式不起作用?

3

以下是正则表达式:/<\?nib.+\?>/im

我将其应用于如下文件的测试中:

<html>

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

<body>
<h1>THIS IS A HEADER 

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

</html>

我没有得到任何匹配结果。怎样才能解决这个问题?


3
请注意,因为在 Ruby 中,m 像其他正则表达式引擎中的 s 一样,但在 JavaScript 中,m 表示逐行模式。 - Casimir et Hippolyte
2个回答

8
你正在使用.来匹配多行,这在Javascript中没有实现。请参考此答案获取解决方法。 关于解决方法: 不要使用点号,而是使用一个类和它的否定来匹配所有内容。例如,将.替换为[\s\S]

4
因为点(.)不能匹配换行符。
在JavaScript中的解决方法是将点替换为[\s\S]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接