我有一个包含html文档的字符串。我需要知道此字符串是否包含子字符串<title>Anmelden - Text</title>。不幸的是,字符串中有一些新行,因此字符串看起来像这样:

...
<title>
        Anmelden - Text
</title></head>
...


我尝试了以下代码:

var idx = html.search( /<title>\n*.*Anmelden.*\n*<\/title>/ );


但是idx始终为-1。如果删除<title></title>,则表达式有效。

我已经使用http://regexpal.com/验证我的正则表达式。在那里它对我的输入有效。

我究竟做错了什么?

最佳答案

使用[\S\s]*代替\n*.*.*\n*,因为在换行符后可能会有空格。请注意,\n仅匹配换行符,而\s匹配所有空格字符,包括换行符\n,回车符\r和制表符\t

<title>[\S\s]*?Anmelden[\S\s]*?<\/title>

关于javascript - 正则表达式中不匹配的html标记,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26212128/

10-10 00:10
查看更多