我正在尝试编写一个regexp\u replace,用分号(;)替换方括号中的逗号(,)分隔符。输入字符串:
gc:network,sm:Out of stock,fm:[PUT,Free store pickup today,S2H],pb:[Rollback,Test]
预期产量:
gc:network,sm:Out of stock,fm:[PUT;Free store pickup today;S2H],pb:[Rollback;Test]
任何帮助都将不胜感激!
to94eoyn1#
如果您的regex支持lookahead和lookback,您可以尝试:
(?<=\[[^\]]*),(?=[^\[]*\])
请看这里:regexr,这里还有一个regex的解释。正如在注解中提到的,java不支持无限宽度的lookback。您可以将输入长度设置为limit,例如,如果输入长度为1000,则可以:
(?<=\[[^\]]{0,1000}),(?=[^\[]*\])
1条答案
按热度按时间to94eoyn1#
如果您的regex支持lookahead和lookback,您可以尝试:
请看这里:regexr,这里还有一个regex的解释。
正如在注解中提到的,java不支持无限宽度的lookback。您可以将输入长度设置为limit,例如,如果输入长度为1000,则可以: