java正则表达式处理花括号内容替换赋值问题

 更新时间:2023年05月26日 10:48:38   作者:小栋哟  
这篇文章主要介绍了java正则表达式处理花括号内容替换赋值问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

正则表达式处理花括号内容替换赋值

 @Test
    public   void replaceStr() {
        System.out.println("将{gid}替换为某值");
        String name1 = "name";
        String cql = "MATCH p=({gid: {gid}})-[r:paper_yantian1586528279416]->() RETURN p LIMIT 25 ";
        System.out.println(cql.replaceAll("\\{[gid^}]*\\}", "\""+name1+"\"}"));
        System.out.println("将{name}替换为某值,{name}中的name可动态传值被替换");
        String sql = "select name from person where name = {name} and sex = %s";
        String name = "name";
        int val = 123;
        System.out.println(sql.replaceAll("\\{["+name+"^}]*\\}", val+""));
        System.out.println("暴力替换");
        System.out.println(sql.replace("{name}", "123"));
        System.out.println("去除花括号并赋值");
        String str = "{f.name} and {f.age}";
        String pattern = "\\{[^}]*\\}";
        Pattern p = Pattern.compile(pattern);
        Matcher m = p.matcher(str);
        while (m.find()) {
            String g = m.group();
            String target = g.substring(1, g.length() - 1);//去掉花括号
            str = str.replace(g,target + " <= '2019-09-09'");
        }
        System.out.println("str:" + str);
    }

执行结果

如何使用正则替换{}里面包裹的内容

使用正则表达式中的{}进行匹配,然后通过替换来改变其包裹的内容。

例如

假设你想要将一个字符串中的所有花括号 {} 包裹的内容替换为另一个字符串 replacement,可以使用如下代码:

const str = "Hello, {name}! How are you {today}?";
const replaced = str.replace(/{.+?}/g, "replacement");
console.log(replaced); // Output: "Hello, replacement! How are you replacement?"

在这里,正则表达式 / {.+?}/g 匹配字符串中所有花括号 {} 包裹的内容。

其中,{.+?} 表示匹配任意字符,且只要匹配到一个字符就停止匹配,也就是非贪婪模式匹配。

/g 表示全局匹配。

最后,使用 replace() 方法将匹配到的内容替换为 replacement。 

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java SSL与TLS客户端证书配置方式

    Java SSL与TLS客户端证书配置方式

    这篇文章主要介绍了Java SSL与TLS客户端证书配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 在java中main函数如何调用外部非static方法

    在java中main函数如何调用外部非static方法

    这篇文章主要介绍了在java中main函数如何调用外部非static方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • JAVA8如何妙用Optional解决NPE问题详解

    JAVA8如何妙用Optional解决NPE问题详解

    在Java中,null代表一个不存在的对象,如果对它进行操作就会抛出java.lang.NullPointerException异常,下面这篇文章主要给大家介绍了关于JAVA8如何妙用Optional解决NPE问题的相关资料,需要的朋友可以参考下
    2018-06-06
  • MyBatis-plus 模糊查询的使用

    MyBatis-plus 模糊查询的使用

    这篇文章主要介绍了MyBatis-plus 模糊查询的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 深入剖析java中String、StringBuffer、StringBuilder的区别

    深入剖析java中String、StringBuffer、StringBuilder的区别

    下面小编就为大家带来一篇深入剖析java中String、StringBuffer、StringBuilder的区别。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • SpringBoot + MyBatis-Plus构建树形结构的几种方式

    SpringBoot + MyBatis-Plus构建树形结构的几种方式

    在实际开发中,很多数据都是树形结构,本文主要介绍了SpringBoot + MyBatis-Plus构建树形结构的几种方式,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • 全面解析Hibernate关联操作、查询操作、高级特性、并发处理机制

    全面解析Hibernate关联操作、查询操作、高级特性、并发处理机制

    这篇文章主要介绍了全面解析Hibernate关联操作、查询操作、高级特性、并发处理机制的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • 如何使用GSON解析JSON数据

    如何使用GSON解析JSON数据

    这篇文章主要介绍了如何使用GSON解析JSON数据,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Java并发编程示例(二):获取和设置线程信息

    Java并发编程示例(二):获取和设置线程信息

    这篇文章主要介绍了Java并发编程示例(二):获取和设置线程信息,本文是系列文章的第二篇,本文着重讲解Thread类的几个重要属性,需要的朋友可以参考下
    2014-12-12
  • spring-boot 如何实现单次执行程序

    spring-boot 如何实现单次执行程序

    这篇文章主要介绍了spring-boot 实现单次执行程序方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09

最新评论