网络编程
位置:首页>> 网络编程>> 网络编程>> java正则表达式处理花括号内容替换赋值问题

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

作者:小栋哟  发布时间:2023-01-06 08:36:41 

标签: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);
   }

执行结果

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

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

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

例如

假设你想要将一个字符串中的所有花括号 {} 包裹的内容替换为另一个字符串 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。 

来源:https://blog.csdn.net/Xiaodongge521/article/details/108260776

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com