将正则表达式后面的外观从python转换为javascript

将正则表达式后面的外观从python转换为javascript,javascript,python,regex,lookbehind,Javascript,Python,Regex,Lookbehind,我在python中编写了一个正则表达式模式,它与逗号分隔的手机号码列表相匹配。模式是: ^\+?[0-9]+((,?)(?(1)(\+?[0-9]+)))*$ 它与任何移动电话号码匹配,涉及以下约束: 每个电话号码可以以+开头;禁止使用任何其他+字符 每个电话号码都可以以00开头 空间不可接受;不是中间空间,也不是外围设备 我的模式在python中运行良好,但我想将其转换为javascript版本,以便在angular项目中使用它 我在谷歌上搜索了javascript look behind

我在
python
中编写了一个正则表达式模式,它与逗号分隔的手机号码列表相匹配。模式是:

^\+?[0-9]+((,?)(?(1)(\+?[0-9]+)))*$
它与任何移动电话号码匹配,涉及以下约束:

  • 每个电话号码可以以
    +
    开头;禁止使用任何其他
    +
    字符
  • 每个电话号码都可以以
    00
    开头
  • 空间不可接受;不是中间空间,也不是外围设备
  • 我的模式在
    python
    中运行良好,但我想将其转换为
    javascript
    版本,以便在
    angular
    项目中使用它

    我在谷歌上搜索了javascript look behind regex,但我不知道如何利用
    javascript
    中的索引look behind;
    ?(1)
    部分


    有没有办法将这个
    python
    regex转换成
    javascript
    或任何其他等效的regex来满足我的需要?

    鉴于您的regex似乎没有使用lookbehinds或条件的no子句,我相信这应该可以做到:

    ^\+?[0-9]+(,\+?[0-9]+)*$
    

    模式中没有lookbebhind,这里有一个条件构造,我怀疑它是否能像预期的那样工作,因为您的组1是
    (,?)(?(1)(\+?[0-9]+)
    。我想你想要的是一个简单的模式。我不确定我是否理解这里条件的用法。在我看来,你可以直接在逗号后添加yes子句。你认为为什么应该这样做?因为它匹配问题中约束条件下的数字。我错过了什么吗?还在想问题是什么-你的模式对我所有的案子都有效。