java - 如何对正则表达式取反

标签 java regex replace inverse

我正在使用 Java 正则表达式。 我有一个字符串如下

String s = "the location is at {emp.address.street} with the name {emp.name},{emp.surname}";

对于上面的字符串,s.replaceAll( "\\{(.*?)\\}", "") 返回以下字符串:

该位置的名称为 ,

现在我想反转它以获得以下结果:

{emp.address.street}{emp.name}{emp.surname}

最佳答案

这个经过测试的脚本对我有用:

public class TEST
{
    public static void main( String[] args )
    {
        String s = "the location is at {emp.address.street} with the name {emp.name},{emp.surname}";
        String result = s.replaceAll( "[^{}]+|(\\{(.*?)\\})", "$1" );
        System.out.println(result);
    }
}

关于java - 如何对正则表达式取反,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7721063/

相关文章:

java - 获取 Java int 的低 16 位作为带符号的 16 位值

java - 多线程中面临的问题

javascript - 小数点后 8 位小数的正则表达式

javascript - 找到文本并在某个点剥离文本

javascript - 正则表达式用某些东西替换所有前导空格

python - Pandas :Dataframe.replace() 与正则表达式

java - If/Else 语句 - 子句不执行 Java

java - 在冒号后用小写罗马字拆分字符串并附加到 HTML

jQuery:找到所有图像链接并将它们转换为一些默认拇指?

javascript - 用 Javascript 替换模板文字?