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。 

总结

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

相关文章

  • Django rest framework使用类视图实现首页API

    Django rest framework使用类视图实现首页API

    这篇文章主要介绍了Django rest framework使用类视图实现首页API,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Java设计模式之策略模式

    Java设计模式之策略模式

    这篇文章介绍了Java设计模式之策略模式,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-10-10
  • java实现在复制文件时使用进度条(java实现进度条)

    java实现在复制文件时使用进度条(java实现进度条)

    在对大文件操作时,可能会需要些时间,此时为用户提供进度条提示是非常常见的一项功能,这样用户就可以了解操作文件需要的时间信息。本实例为大家介绍了在复制大的文件时使用的进度条提示,需要注意的是,只有在读取文件超过2秒时,才会显示进度条
    2014-03-03
  • mybatis之批量添加问题

    mybatis之批量添加问题

    这篇文章主要介绍了mybatis之批量添加问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Java 仿天猫服装商城系统的实现流程

    Java 仿天猫服装商城系统的实现流程

    读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用java+SSM+jsp+mysql+maven实现一个仿天猫服装商城系统,大家可以在过程中查缺补漏,提升水平
    2021-11-11
  • Maven中pom.xml配置文件详细介绍

    Maven中pom.xml配置文件详细介绍

    这篇文章主要介绍了Maven中pom.xml配置文件详细介绍,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • Spring Data JPA 注解Entity关联关系使用详解

    Spring Data JPA 注解Entity关联关系使用详解

    这篇文章主要为大家介绍了Spring Data JPA 注解Entity关联关系使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • springboot实现打印彩色日志

    springboot实现打印彩色日志

    这篇文章主要介绍了springboot实现打印彩色日志的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • 使用Nexus搭建Maven私服的方法步骤

    使用Nexus搭建Maven私服的方法步骤

    这篇文章主要介绍了使用Nexus搭建Maven私服的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • mybatis resultmap 如何为对象赋值的调用顺序

    mybatis resultmap 如何为对象赋值的调用顺序

    这篇文章主要介绍了mybatis resultmap 如何为对象赋值的调用顺序,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01

最新评论