我正在努力" scarpe"一个用来获取javascript数组的网页。
var paradas = [["name1", 12,....], ["namen", 24,..]];
这是源代码的页面http://pastebin.com/SZhtL404。
同样的regExp工作在另一种语言中,比如PHP甚至是awk,但是我无法在javascript中使用它。
html = html.replace(/\n/g,''); //I delete the \n -> it works
var re = /(var\s*paradas\s*=\s*)(\[(.*?)\];)/g;
var result = re.exec(html); -> it returns null.
reg表达式有什么问题?
答案 0 :(得分:0)
而不是这个
var re = /(var\s*paradas\s*=\s*)(\[(.*?)\];)/g;
试试这个
var re = /(var\s*paradas\s*=\s*)(\[([^;]+)\];)/g;
现在
result[0] == 'var paradas = [["name1", 12,....], ["namen", 24,..]];'
result[1] == 'var paradas ='
result[2] == '[["name1", 12,....], ["namen", 24,..]];'
答案 1 :(得分:0)
好的,解决了。
我必须删除\ r才能使其正常工作(在控制台中查看结果我意识到了\ r \ n)。
最终代码是:
html = html.replace(/(\n|\r)/g,'');
var re = /(var\s*paradas\s*=\s*\[([^;]+)\]);/;
现在res [0]符合我的预期。感谢serg和esquew的帮助。
它也适用于此:var re = /(var\s*paradas\s*=\s*\[(.*?)\]);/;