要匹配的Java正则表达式";";除非它是';s";[t”或“t]”;

要匹配的Java正则表达式";";除非它是';s";[t”或“t]”;,java,regex,Java,Regex,我在字符串上使用replaceAll()将任何字母替换为“[两个字母]”。所以xxxaxxx到xxx[ab]xxx。我不希望那些已经被替换的再被替换(变成xxx[a[cb]]xxx) 一种简单的方法是排除任何以“[”开头或后跟“]”的字母。正确的正则表达式是什么 替换全部(fooofoo,“[ab]” s.replaceAll((?您可以使用负向后看和向前看,如下所示: (?<!\[)t(?!=\]) (?是否缺少最后一个结束括号?是的…需要一个“)”放在最后一个结束括号后。效果很好,谢

我在字符串上使用replaceAll()将任何字母替换为“[两个字母]”。所以xxxaxxx到xxx[ab]xxx。我不希望那些已经被替换的再被替换(变成xxx[a[cb]]xxx)

一种简单的方法是排除任何以“[”开头或后跟“]”的字母。正确的正则表达式是什么


替换全部(fooofoo,“[ab]”

s.replaceAll((?您可以使用负向后看和向前看,如下所示:

(?<!\[)t(?!=\])

(?是否缺少最后一个结束括号?是的…需要一个“)”放在最后一个结束括号后。效果很好,谢谢!为了将来参考,编辑您的问题会将其放到头版。无需添加答案。
(?<!\[)t(?!=\])