我有一个包含所有结构的html内容(html,head和其他标签)。我需要获取身体内容,所以我做了
data = data.replace(/.*<body.*?>(.*)<\/body>/mi,"$1");
但是regexp似乎不起作用,我做错了什么?
答案 0 :(得分:1)
Javascript不支持s
(=点匹配换行符)切换,因此您必须使用[^]
(=任何字符)代替.
"<\n xxx \n>".replace(/<.*>/, "YES") // < xxx >
"<\n xxx \n>".replace(/<[^]*>/, "YES") // YES
答案 1 :(得分:0)
没有标记使.
匹配新行,因此您必须手动将其添加到匹配中。我建议使用空格类\s
。此外,不需要初始.*
。
data = data.replace(/<body.*?>((\s|.)*)<\/body>/mi,"$1");