我的文件名看起来像这样:
d3a16040-3aa9-4581-b054-79aea9ec5626_new_baby_kittens.jpg
我已经成功将文件名更改为此:
new_baby_kittens.jpg
但是如果我使用它,为什么我的正则表达式不起作用?:
^[^_]+_$
我知道如果我使用此命令,我的正则表达式将起作用:
^[^_]+_
我想使用^
和$
来澄清字符串的开头和结尾。我该怎么办?
我在这里测试过正则表达式:https://regexr.com/4du5t
以及Java代码:
String fileName = new String("d3a16040-3aa9-4581-b054-79aea9ec5626_new_baby_kittens.jpg");
System.out.println(fileName.replaceAll("^[^_]+_", "")); // This shows me what I want, because it outputs: new_baby_kittens.jpg
System.out.println(fileName.replaceAll("^[^_]+_$", "")); // This shows me: d3a16040-3aa9-4581-b054-79aea9ec5626_new_baby_kittens.jpg
我已经阅读了链接的问题。但是我也找不到那里。我还阅读了有关多行模式的信息,但事实并非如此。我在此链接上了解了多行模式: