我希望有人可以帮我解决这个正则表达式
content.match(/<div class="content">.+#-#/ig);
我需要匹配<div class="content">
[匹配中间的所有内容]之间的所有内容,直到编码中的# - #
我正在使用javascript
由于
答案 0 :(得分:3)
试试这个正则表达式:
/<div class="content">[\s\S]+?#-#/ig
[\s\S]
将匹配任何字符,包括换行符,非贪婪量词+?
会将匹配扩展到最小值。
答案 1 :(得分:1)
嗯,严格地说:
content.match(/<div class="content">(.+?)##/ig);
结果是数组中的每个偶数元素。但你真的不应该使用正则表达式。如果你想要'content'div的内容,你应该使用DOM方法。沿着:
function getContents () {
var divs = document.getElementsByTagName('DIV');
var result = [];
for (var i=0,l=divs.length;i<l;i++) {
if (divs[i].className == 'content') {
var content = divs[i].innerHTML;
result.push(content.match(/(.*?)##/)[1]);
}
}
return result;
}