我正在使用正则表达式来查找和替换看起来像这种模式的部分文本:
[Y](X)
其中X和Y是不同的短语,搜索过程仅基于X.
以下模式可以完成这项工作,但是当有嵌套括号时,它会替换更多文本
\[.*\]\(X\)
EG
[ZZZ [Y](X)
文字样本:
[表皮](表皮(皮肤))(皮肤的最外层)和外层真皮(表皮下面的层)。接触性皮炎导致皮疹大,灼热,发痒。这些可能需要几天到几周才能愈合。这使它与接触性荨麻疹区别开来 -
如何修复我的正则表达式以避免这种情况?
如果我理解正确,你想要使用积极向前看,如:
在此示例中:
[表皮](表皮(皮肤))
你做的事情如下:
\[[^\[\]]*?\](?=\(Epidermis \(skin\)\))