我有一个包含所有结构(html、head 和其他标签)的 html 内容。我需要获取正文内容,所以我这样做了
data = data.replace(/.*<body.*?>(.*)<\/body>/mi,"$1");
但是那个正则表达式似乎不起作用,我做错了什么?
我有一个包含所有结构(html、head 和其他标签)的 html 内容。我需要获取正文内容,所以我这样做了
data = data.replace(/.*<body.*?>(.*)<\/body>/mi,"$1");
但是那个正则表达式似乎不起作用,我做错了什么?
Javascript 不支持s
(=dot 匹配换行符) 开关,所以你必须使用[^]
(=any character) 而不是.
"<\n xxx \n>".replace(/<.*>/, "YES") // < xxx >
"<\n xxx \n>".replace(/<[^]*>/, "YES") // YES
没有标志可以.
匹配新行,因此您必须手动将其添加到匹配中。我建议使用空格类\s
。.*
此外,不需要初始值。
data = data.replace(/<body.*?>((\s|.)*)<\/body>/mi,"$1");