Javascript ruby中的递归正则表达式
我有一个脚本,可以打开对服务器的请求并获得javascript输出 此输出如下所示: html=新数组();标记=新数组();push('html标记(我想要的东西)更多html');标记推动(新Obj(-12.1231,-12.12312));push('html标记(我想要的东西)更多html');标记推动(新Obj(-12.1231,-12.12312));push('html标记(我想要的东西)更多html');标记推动(新Obj(-12.1231,-12.12312));push('html标记(我想要的东西)更多html');标记推动(新Obj(-12.1231,-12.12312));push('html标记(我想要的东西)更多html');标记推动(新Obj(-12.1231,-12.12312));OtherStuf.idontcare(新对象(-16.630495852614,-49.264667191591),13) 我想创建一个正则表达式来容纳所有内容:Javascript ruby中的递归正则表达式,javascript,ruby,regex,Javascript,Ruby,Regex,我有一个脚本,可以打开对服务器的请求并获得javascript输出 此输出如下所示: html=新数组();标记=新数组();push('html标记(我想要的东西)更多html');标记推动(新Obj(-12.1231,-12.12312));push('html标记(我想要的东西)更多html');标记推动(新Obj(-12.1231,-12.12312));push('html标记(我想要的东西)更多html');标记推动(新Obj(-12.1231,-12.12312));push('h
(我想要的东西)
以及新Obj(-12.1231,-12.12312)
上的数字,因此在这一部分:
push('html标记(我想要的东西)更多html');标记推动(新Obj(-12.1231,-12.12312))
我只想得到:
(something i want)
-12.1231231
-12.12312312312
但我发现每个地方都有这个
我创建这个正则表达式是为了获取所有的内部内容
/^html = new Array\(\);mark = new Array\(\);(.*)OtherStuf.idontcare\(new Object\([\+\-\.0-9]*, [\+\-\.0-9]*\), [\d]*\);$/
但现在我有点困了。我看不出有什么办法可以获取我需要的信息
我该怎么做
用我的regexp和一个我需要解析的javascript示例说明:单个regex无法处理您想要的东西 我建议您首先拆分为块,然后在每个块上运行正则表达式:
output.split(/html\.push/).each do |block|
# grab "something i want" and the numbers in block
end
您是否正在尝试编写一个可以解析html标记的正则表达式?如果是这样的话,那是不可能的。似乎需要重新编写一段混乱的JavaScript代码片段。我不想解析html标记,我想解析这个js,它包含一些html标记,但只是itI的一些要点,我说你不能用正则表达式解析非正则语法。不过,对于特定的输入数据,您可以找到一种在大多数情况下都有效的破解方法。但我要解析的js就是这样,是常规的。不规则的东西是我需要切片和使用的东西