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
0
投稿
猜你喜欢
- 一、http协议无状态问题http协议没有提供多次请求之间的关联功能,协议的本意也并未考虑到多次请求之间的状态维持,每一次请求都被协议认为是
- 基本语句结构if 判断条件1: 执行语句1……elif 判断条件2:
- 元组(tuple)与列表类似,但是元组是不可修改的 (immutable)。也就是说,元组一旦被创建就不可被修改了。操作符 (in、+、*)
- 求N的阶乘本题要求编写程序,计算N的阶乘。输入格式:输入在一行中给出一个正整数 N。输出格式:在一行中按照“produc
- 使用requests下载文件1、获取token,或者session如不需要可忽略login_url = "http://xxxx/
- 一、urllib库是什么?urllib库用于操作网页 URL,并对网页的内容进行抓取处理urllib包 包含以下几个模块:urllib.re
- 直接pip install impala 是不行滴,按照以下步骤安装就会成功!一路安装就可以1、pip install six2、pip i
- <?php $search = array ("'<script[^>]*?>.*?</sc
- 本文例举了ASP实例关于ASP与ACCESS链接的两种方式。<%dim dd,connstrdd="data.mdb&quo
- Scipy高级科学计算库:和Numpy联系很密切,Scipy一般都是操控Numpy数组来进行科学计算、统计分析,所以可以说是基于Numpy之
- 题目:反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3-
- 前言ThinkPHP出于安全的考虑增加了表单令牌Token,由于通过Ajax异步更新数据仅仅部分页面刷新数据,就导致了令牌Token不能得到
- 输入任意一个大写字母,生成金字塔图形def GoldTa(input): L = [chr(i) for i in range(
- 1.使用 for key in dict遍历字典可以使用for key in dict遍历字典中所有的键x = {'a':
- 先看代码m = nn.Identity(54, unused_argument1=0.1, unused_argument2=False)i
- Python中的字典一、字典的特点二、创建字典创建字典用大括号表示dict1={'a':3,'b':4,
- 本文介绍一下 Pytorch 中常用乘法的 TensorRT 实现。pytorch 用于训练,TensorRT 用于推理是很多 AI 应用开
- MySQL插件式存储引擎是MySQL数据库服务器中的组件,负责为数据库执行实际的数据I/O操作,并能允许和强制执行面向特殊应用需求的特定特性
- 游戏玩法游戏玩法: 该游戏由 2 到 6 个人玩,使用除大小王之外的 52 张牌,游戏者的目标是使手中的牌的点数之和不超过 21 点且尽量大
- 前言React核心的单向数据流、一切皆数据的state、不会改变的props,以及状态提升等等经常使用便不多总结,需要的看官方文档。JSXJ