我有一个包含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/