Javascript regexp中未终止的组

Javascript regexp中未终止的组,javascript,regex,parsing,Javascript,Regex,Parsing,我尝试在JavaScript中使用regexp测试字符串。 正确的字符串如下所示: <script charset="utf-8">new DGWidgetLoader({"width":640,"height":600,"borderColor":"#a3a3a3","pos":{"lat":46.00650100065259,"lon":11.263732910156252,"zoom":9} 新DGWidgetLoader({“宽度”:640,“高度”:600,“边框颜色”:

我尝试在JavaScript中使用regexp测试字符串。 正确的字符串如下所示:

<script charset="utf-8">new DGWidgetLoader({"width":640,"height":600,"borderColor":"#a3a3a3","pos":{"lat":46.00650100065259,"lon":11.263732910156252,"zoom":9}
新DGWidgetLoader({“宽度”:640,“高度”:600,“边框颜色”:“#a3a3a3”,“位置”:{“lat”:46.00650100065259,“lon”:11.263732910156252,“缩放”:9}
我想测试“宽度”、“高度”看起来像xxx或xxxx,以及“纬度”、“经度” 看起来像x{1,2}.x*,zoom看起来像x{1,2}

我试着用这个正则表达式

/<script charset="utf-8">new DGWidgetLoader(/{"width":[0-9]{3,4},"height":[0-9]{3,4},"borderColor":"#a3a3a3","pos":\{"lat":[0-9]{1,2}.[0-9]+,"lon":[0-9]{1,2}.[0-9]+,"zoom":[0-9][0-9]}//
/new DGWidgetLoader(/{“宽度”:[0-9]{3,4},“高度”:[0-9]{3,4},“边框颜色”:“#A3A3A3A3”,“位置”:\{“纬度”:[0-9]{1,2}.[0-9]+,“长”:[0-9]{1,2}.[0-9]+,“缩放”:[0-9][0-9]}//
使用String.search(),但得到错误
SyntaxError:Invalid regular expression:/new DGWidgetLoader(/{“width”:[0-9]{3,4},“height”:[0-9]{3,4},“borderColor”:“#a3a3a3a3”,“pos”:{“lat”:[0-9]{1,2}.[0-9]+,“lon 0-9]{1,2}.[0-9]+,“zoom:[0-9]/:Unterminated group


如何解析如下所示的脚本标记?

我认为问题在于:

... DGWidgetLoader(/{ ....
应该是:

... DGWidgetLoader\(\{ ...
在这种情况下,最后的斜杠是不必要的

编辑:另外,转义最后的}标记和其他特殊字符。因此:

/<script charset="utf-8">new DGWidgetLoader\(\{"width":[0-9]{3,4},"height":[0-9]{3,4},"borderColor":"#a3a3a3","pos":\{"lat":[0-9]{1,2}\.[0-9]+,"lon":[0-9]{1,2}\.[0-9]+,"zoom":[0-9][0-9]\}/
/new DGWidgetLoader\(\{“宽度”:[0-9]{3,4},“高度”:[0-9]{3,4},“边框颜色”:“{a3a3a3”,“位置”:\{“纬度”:[0-9]{1,2}.[0-9]+,“长”:[0-9]{1,2}.[0-9]+,“缩放”:[0-9][0-9]\]/

还有一个小的逻辑问题:你的缩放规则需要两个数字,而实际上可以是一个或两个。你应该考虑修复。

< P>你应该逃出<代码>(<代码> >代码> {,<代码> } /代码>和<代码> .<代码> <代码> \/C> >:

/<script charset="utf-8">new DGWidgetLoader\(\{"width":[0-9]{3,4},"height":[0-9]{3,4},"borderColor":"#a3a3a3","pos":\{"lat":[0-9]{1,2}\.[0-9]+,"lon":[0-9]{1,2}\.[0-9]+,"zoom":[0-9][0-9]\}/
/new DGWidgetLoader\(\{“宽度”:[0-9]{3,4},“高度”:[0-9]{3,4},“边框颜色”:“{a3a3a3”,“位置”:\{“纬度”:[0-9]{1,2}.[0-9]+,“长”:[0-9]{1,2}.[0-9]+,“缩放”:[0-9][0-9]\]/

这完全是错误的。它返回相同的错误。您还需要转义
)。有未关闭的括号:
DGWidgetLoader({
标记也未关闭。这正常吗?