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);
}
执行结果
如何使用正则替换{}里面包裹的内容
使用正则表达式中的{}进行匹配,然后通过替换来改变其包裹的内容。
例如
假设你想要将一个字符串中的所有花括号 {} 包裹的内容替换为另一个字符串 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


猜你喜欢
- #!/usr/bin/env python# -*- coding:utf-8 -*-#导入random和string模块import ra
- 1.gorm介绍1.1介绍全功能 ORM关联 (Has One,Has Many,Belongs To,Many To Many,多态,单表
- tensorflow里面给出了一个函数用来读取图像,不过得到的结果是最原始的图像,是咩有经过解码的图像,这个函数为tf.gfile.Fast
- int(10)int(20)分别代表什么意思储备知识在设计数据库表的时候,经常需要设计一个id字段,它的类型一般都是整型int,经常会遇到i
- mysql在5.1之后增加了存储过程的功能, 存储过程运行在mysql内部,语句都已经编译好了,速度比sql更快. 存储过程与mysql相当
- 本文实例讲述了Python实现队列的方法。分享给大家供大家参考,具体如下:Python实现队列队列(FIFO),添加元素在队列尾,删除元素在
- 上篇文章介绍了ROS TF坐标变换基本概念及使用案例,今天给大家介绍ROS机器人底盘坐标像素变换,一起看看吧对于ROS
- Keras的模型是用hdf5存储的,如果想要查看模型,keras提供了get_weights的函数可以查看:for layer in mod
- label与one-hot之间的互相转换有时候需要label,比如强化学习的离散动作空间,输出动作索引;有时候需要one-hot,比如训练数
- 第一种方法: 分为 大 中 小 控制正文字体大小,一般需要指定 id<!DOCTYPE html PUBLIC "-//W3
- useSSL=false和true的区别SSL(Secure Sockets Layer 安全套接字协议),在mysql进行连接的时候,如果
- 三元条件判断的3种实现方法C语言中有三元条件表达式,如 a>b?a:b,Python中没有三目运算符(?:),但Python有它自己的
- MySQL数据库远程访问权限设置对于初学者小伙伴来说,我们安装mysql到本地服务,再用一些图形化工具链接。一般情况下我们都能链接成功;但是
- PHP mysqli_thread_id() 函数返回当前连接的线程 ID,然后杀死连接:<?php// 假定数据库用户名:root,
- 用nodejs怎样来实现对微信公众平台的开发呢?别的就不多说了,先来简单介绍微信公众平台的基本原理。微信服务器就相当于一个转发服务器,终端(
- 本文实例讲述了js显示世界时间的方法。分享给大家供大家参考,具体如下:<!DOCTYPE HTML PUBLIC "-//W
- 本文实例讲述了GO语言常用的文件读取方式。分享给大家供大家参考。具体分析如下:Golang 的文件读取方法很多,刚上手时不知道怎么选择,所以
- 那么,现在如果给出一个权限编号,要去检索出用后这个权限的用户集合,就会需要在逗号分隔的多个权限编号中去匹配给出的这个权限编号。如果使用lik
- 选择一个合适的编辑器,比如notepad++、VS、eclipse、sublime text等,选中要集体缩进的代码块,按Tab:集体缩进(
- Dreamweaver出现乱码,大致为两种情况:一是没有标明主页制作所用的文字,这种情况下很简单就可以