代码之家  ›  专栏  ›  技术社区  ›  Abdulrahman Bres Cristiana Chavez

正则表达式:如何忽略[Y](X)模式中的嵌套括号?

  •  0
  • Abdulrahman Bres Cristiana Chavez  · 技术社区  · 8 年前

    我使用正则表达式查找并替换文本中类似以下模式的部分:

    [Y](X)
    

    其中X和Y是不同的短语,

    下面的模式完成了这项工作,但它替换了更多的文本 当有嵌套括号时

    \[.*\]\(X\)
    

    [ZZZ [Y](X)
    

    文本示例:

    [表皮](表皮(皮肤))(皮肤的最外层)和外层真皮(表皮下的一层)。接触性皮炎会导致大面积、灼热和瘙痒的皮疹。这些症状可能需要几天到几周的时间才能痊愈。这与接触性荨麻疹不同

    如何修复正则表达式以避免这种情况?

    1 回复  |  直到 4 年前
        1
  •  0
  •   Dalorzo    8 年前

    如果我理解正确的话,你想用积极的眼光来看问题,比如:

    在此示例中:

    [表皮](表皮(皮肤))

    你可以这样做:

    \[[^\[\]]*?\](?=\(Epidermis \(skin\)\))