代码之家  ›  专栏  ›  技术社区  ›  DDave

regex替换块开始和结束

  •  1
  • DDave  · 技术社区  · 6 年前

    我正在尝试使用一个源来生成两个源,对于Web和Phone,我想编写这样的源JS:

    {*Phone
    import webfunction from ./utils
    */Phone}
    ...anothercode..
    
    {*Web
    import webfunction from ./utils
    */Web}
    ...anothercode..
    

    我听说用regex替换块不容易,de blocks内部不会写评论或奇怪的字符,但我不知道用regex可以用什么更好的字符串来更容易。

    如果我想获得电话的纯部件并保存到新文件中,我只需调用regex函数删除Web部件,反之亦然…

    有人知道我能用什么样的线来达到这个目的吗?

    更新1: 在这种情况下,regex不工作,内部有两个块 ddd

    {*Web
    dddd
    }
    ddd
    {*Web
    *}
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Thomas Ayoub    6 年前

    您可以使用以下regex:

    \{\*(\w+)[\s\S]*?\*\/\1\}
    

    然后测试它 here