Ruby 合并两个正则表达式?
我有两个正则表达式,每个正则表达式都用于剥离开始和结束参数,但我正在寻找一种方法来组合它们 捕获开始:Ruby 合并两个正则表达式?,ruby,regex,Ruby,Regex,我有两个正则表达式,每个正则表达式都用于剥离开始和结束参数,但我正在寻找一种方法来组合它们 捕获开始: ^[a][(] 捕获结束: [\,]\d{1,3}\,[n][u][l][l][)] 我尝试使用&&操作符组合它们,但没有得到任何结果 这是一个例子,其中一个对 除了删除我在评论中提到的请求url之外,如果它在一行上,您还可以使用它 ^\w+\(|[^}]+$ 这将匹配开始和结束模式,并捕获以下各项之间的所有内容: /^a\((.*),\d{1,3},null\)/.match(s)[
^[a][(]
捕获结束:
[\,]\d{1,3}\,[n][u][l][l][)]
我尝试使用&&
操作符组合它们,但没有得到任何结果
这是一个例子,其中一个对 除了删除我在评论中提到的请求url之外,如果它在一行上,您还可以使用它
^\w+\(|[^}]+$
这将匹配开始和结束模式,并捕获以下各项之间的所有内容:
/^a\((.*),\d{1,3},null\)/.match(s)[1]
下面是如何使用它来剥离:(我在您的Rubular示例中编辑了巨大的字符串)
... 一个正则表达式,带有围绕实际JSON的捕获组。也就是说,您是否确定正则表达式是实现这一点的最佳方法,例如,如果有换行符,只需删除第一行和最后一行即可。JSONP响应将在一行中返回所有内容,如红宝石示例所示。在查询url上删除“=?”是否应该在没有JSONP的情况下返回?您过度使用了字符类:
[n][u][l]
与null
相同,但请注意,括号需要用\来转义,即[(]
与\(
相同。我猜也是这个问题;如果您知道回调格式,您可能只需要在开头和结尾去掉n个字符,例如{
的第一个索引和}
的rindex。
irb> s = 'a({"query":"love",...},200,null)'
=> "a({\"query\":\"love\",...},200,null)"
irb> /^a\((.*),\d{1,3},null\)/.match(s)[1]
=> "{\"query\":\"love\",...}"
irb> puts /^a\((.*),\d{1,3},null\)/.match(s)[1]
{"query":"love",...}