javascript中的多字符串搜索模式

时间:2012-06-01 09:23:35

标签: javascript regex

我有一个包含所有结构的html内容(html,head和其他标签)。我需要获取身体内容,所以我做了

data = data.replace(/.*<body.*?>(.*)<\/body>/mi,"$1");

但是regexp似乎不起作用,我做错了什么?

2 个答案:

答案 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");