Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ruby中的递归正则表达式_Javascript_Ruby_Regex - Fatal编程技术网

Javascript ruby中的递归正则表达式

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

我有一个脚本,可以打开对服务器的请求并获得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)

我想创建一个正则表达式来容纳所有内容:
(我想要的东西)
以及
新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就是这样,是常规的。不规则的东西是我需要切片和使用的东西