我有以下示例文本
Hello | World
<Hi | Hello|How | are | you><test|string |for |regex>
sample | text <however|replace|pipe>
转换如下
Hello | World
<Hi ~ Hello~How ~ are ~ you><test~string ~for ~regex>
sample | text <however~replace~pipe>
即。将|
内的<>
替换为~
我试过这个<(?:.*?)(\|)(?:.*?)>
(http://regex101.com/r/mX1sO0)
但它仅与第一个|
匹配角度<>
。我不知道如何更换它。任何指示?
答案 0 :(得分:1)
如果您的尖括号从不嵌套并始终正确平衡,那么您可以这样做:
\|(?=[^<>]*>)
仅匹配下一个尖括号为结束尖括号的管道字符。然后只需将匹配项替换为~
。