如果不是"+",则替换字符

Pec*_*ana 0 java regex replace

在java中我只需要用一个单词替换一个数字,如果它不在"+"之前.例:

- match1
- match+1
Run Code Online (Sandbox Code Playgroud)

应该成为:

matchone
match+1 (no modify)
Run Code Online (Sandbox Code Playgroud)

我试过了

>>>name = name.replaceAll("([^+])1", "one");
matcone                                      //required "matchone"
Run Code Online (Sandbox Code Playgroud)

但它没有用.有什么建议?

谢谢

Tot*_*oto 5

使用负面的lookbehind:

name = name.replaceAll("(?<!\\+)1", "one");
Run Code Online (Sandbox Code Playgroud)

  • @YCF_L:谢谢你的编辑.我总是忘记双重逃避:-( (2认同)