首先,这不是家庭作业/学校问题。这是我个人项目需要的东西,并且能够使用简单字符概括问题,如下所示:
创建一个正则表达式,可用于输入字符串Aaabaabaa(或类似)的Java字符串替换函数,并将每个a转换为A,除非它先于b。因此,预期的输出是Aaabaabaa。我已经尝试了至少两个小时...我能想到的最好的是:
replaceAll("^a|([^b])a", "$1A");
这在AAA上失败,其中返回值为AAA
我试图说"没有a'b'之前的任何'a'应该是A。
尝试使用负面的lookbehind:
str.replaceAll("(?<!b)a", "A");
这将与任何a
不匹配在b
之前。