Java正则表达式匹配“t”,除非它是“[t”或“t]”
我在字符串上使用replaceAll()将任何字母替换为“[两个字母]”。所以xxxaxxx到xxx[ab]xxx。我不想让那些已经被替换的再次被替换(变成xxx[a[cb]]xxx)
一种简单的方法是排除任何以“[”开头或后跟“]”的字母。正确的正则表达式是什么
replaceAll(fooofoo,“[ab]”)
你可以在下面搜索框中键入要查询的问题!
我在字符串上使用replaceAll()将任何字母替换为“[两个字母]”。所以xxxaxxx到xxx[ab]xxx。我不想让那些已经被替换的再次被替换(变成xxx[a[cb]]xxx)
一种简单的方法是排除任何以“[”开头或后跟“]”的字母。正确的正则表达式是什么
replaceAll(fooofoo,“[ab]”)
# 1 楼答案
它们分别是一个负向后看和一个负向前看,这两个例子是os零宽度断言。更多信息可以在Lookahead and Lookbehind Zero-Width Assertions中找到
上面所做的一件事就是排除[t]。我想这就是你想要的,但如果不是,你需要稍微修改一下
# 2 楼答案
你可以使用消极的向后看和向前看,如下所示: