Javascript 在edge中提供意外量词但在chrome中不提供意外量词的正则表达式

Javascript 在edge中提供意外量词但在chrome中不提供意外量词的正则表达式,javascript,regex,dojo,Javascript,Regex,Dojo,我有两个正则表达式,它们在chrome中工作得很好,但在edge或internet explorer中却不行。在浏览器上调试时出现意外量词错误。此错误的输入为89 9 5。有什么想法吗 var fps1 = new RegExp( "(?<Unit>[a-p])\\W*(?<Section>\\d+)\\W+(?<LatDegrees>\\d+)-(?<LatMinutes>\\d+)\\W+(?<LongDegrees>\\d+)

我有两个正则表达式,它们在chrome中工作得很好,但在edge或internet explorer中却不行。在浏览器上调试时出现意外量词错误。此错误的输入为89 9 5。有什么想法吗

var fps1 = new RegExp(
  "(?<Unit>[a-p])\\W*(?<Section>\\d+)\\W+(?<LatDegrees>\\d+)-(?<LatMinutes>\\d+)\\W+(?<LongDegrees>\\d+)-(?<LongMinutes>\\d+)");

var dls1 = new RegExp(
  "[/-](L[a-z]*)?\\W*(?<Lsd>\\d+)\\W*(S[a-z]*|\\W)\\W*(?<Section>\\d+)\\W*(T[a-z]*|\\W)\\W*(?<Township>\\d+)\\W*(R[a-z]*|\\W)\\W*(?<Range>\\d+)\\W*([WM][a-z]*|\\W)\\W*(?<Meridian>\\d)\\b");

var dls2 = new RegExp(
  "(L[a-z]*)?\\W*(?<Lsd>\\d+)\\W*(S[a-z]*|\\W)\\W*(?<Section>\\d+)\\W*(T[a-z]*|\\W)\\W*(?<Township>\\d+)\\W*(R[a-z]*|\\W)\\W*(?<Range>\\d+)\\W*([WM][a-z]*|\\W)\\W*(?<Meridian>\\d)\\b");

var dls3 = new RegExp(
  "(S[a-z]*)?\\W*(?<Section>\\d+)\\W*(T[a-z]*|\\W)\\W*(?<Township>\\d+)\\W*(R[a-z]*|\\W)\\W*(?<Range>\\d+)\\W*([WM][a-z]*|\\W)\\W*(?<Meridian>\\d)\\b");

var dls4 = new RegExp(
  "(T[a-z]*)?\\W*(?<Township>\\d+)\\W*(R[a-z]*|\\W)\\W*(?<Range>\\d+)\\W*([WM][a-z]*|\\W)\\W*(?<Meridian>\\d)\\b");

var nts1 = new RegExp(
  "(?<Quarter>[abcd])\\W+(?<Unit>\\d+)\\W+(?<Block>[abcdefghijkl])/(?<Sheet>\\d+)\\W+(?<Subdivision>[abcdefghijklmnop])\\W+(?<Sixteenth>\\d+)");

var nts2 = new RegExp(
  "(?<Unit>\\d+)\\W+(?<Block>[abcdefghijkl])/(?<Sheet>\\d+)\\W+(?<Subdivision>[abcdefghijklmnop])\\W+(?<Sixteenth>\\d+)");
var nts3 = new RegExp(
  "((?<Block>\\w)/)?(?<Sheet>\\d+)\\W+(?<Subdivision>[abcdefghijklmnop])\\W+(?<Sixteenth>\\d+)");
var fps1=new RegExp(
“(?[a-p])\\W*(?\\d+)\\W+(?\\d+)-(?\\d+)\\W+(?\\d+)-(?\\d+)”;
var dls1=新的RegExp(
“[/-](L[a-z]*)?\\W*(?\\d+)\\W*(S[a-z]*|\\W)\\W*(?\\d+)\\W*(T[a-z]*|\\W)\\W*(?\\d+)\\W*(R[a-z]*|\\W)\\W*(?\\d+)\\W*([WM;
var dls2=新的RegExp(
“(L[a-z]*)?\\W*(?\\d+)\\W*(S[a-z]*|\\W)\\W*(?\\d+)\\W*(T[a-z]*|\\W)\\W*(?\\d+)\\W*(R[a-z]*|\\W)\\W*(?\\d+)\\W*([WM][a-z]*|\\W)\\W*(W*(?\\d)\\b”);
var dls3=新的RegExp(
“(S[a-z]*)?\\W*(?\\d+)\\W*(T[a-z]*|\\W)\\W*(?\\d+)\\W*(R[a-z]*|\\W)\\W*(?\\d+)\\W*([WM][a-z]*|\\W)\\W*(?\\d)\\b”);
var dls4=新的RegExp(
“(T[a-z]*)?\\W*(?\\d+)\\W*(R[a-z]*|\\W)\\W*(?\\d+)\\W*([WM][a-z]*|\\W)\\W*(?\\d)\\b”);
var nts1=新的RegExp(
“(?[abcd])\\W+(?\\d+)\\W+(?[abcdefghijkl])/(?\\d+)\\W+(?[abcdefghijklmnop])\\W+(?\\d+)”;
var nts2=新的RegExp(
“(?\\d+)\\W+(?[abcdefghijkl])/(?\\d+)\\W+(?[abcdefghijklmnop])\\W+(?\\d+)”;
var nts3=新的RegExp(
“((?\\w)/)(?\\d+)\\w+(?[abcdefghijklmnop])\\w+(?\\d+)”;

当使用边缘调试工具时,它不会超过第一个正则表达式,javascript执行只是停止,开发者窗口中的错误只是意外的量词,没有其他提示。

这里的问题是javascript不支持命名组,但在chrome中运行时除外。要解决这个问题,我只需要删除所有的命名组语法


删除

1。为什么不使用literal RegExp符号?2.你在试着去吗?三,。你介意缩小误差吗?虽然我想我已经发现了一些…我正在尝试解析地质网格坐标。这些都是多年前一位早已用c#编写的同行编写的,并被证明是准确的。我不想把事情搞砸。