我希望根据 [, ] 分割字符串。但有一个限制,如果 [, ] 出现在 ""内,我们应该忽略它们。
示例:
对于字符串:
"""hello "hi" [abc: "pqr[abc]"] bye | [xyz]"""
分割后的字符串应该是:
hello "hi"
abc: "pqr[abc]"
bye |
xyz
最佳答案
您可以使用 find()
方法并描述除引号之间的部分之外的所有非方括号的内容,而不是尝试拆分:
[^\]\["]+(?:"[^"]*"[^\]\["]*)*|(?:"[^"]*"[^\]\["]*)+
(不要忘记在模式字符串中添加反斜杠。)
关于java - 正则表达式不拆分 [ 如果字符串位于 ""之下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48252799/