java正則表達式處理花括號內(nèi)容替換賦值問題
正則表達式處理花括號內(nèi)容替換賦值
@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可動態(tài)傳值被替換");
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);
}執(zhí)行結(jié)果

如何使用正則替換{}里面包裹的內(nèi)容
使用正則表達式中的{}進行匹配,然后通過替換來改變其包裹的內(nèi)容。
例如
假設你想要將一個字符串中的所有花括號 {} 包裹的內(nèi)容替換為另一個字符串 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 匹配字符串中所有花括號 {} 包裹的內(nèi)容。
其中,{.+?} 表示匹配任意字符,且只要匹配到一個字符就停止匹配,也就是非貪婪模式匹配。
/g 表示全局匹配。
最后,使用 replace() 方法將匹配到的內(nèi)容替換為 replacement。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決spring.thymeleaf.cache=false不起作用的問題
這篇文章主要介紹了解決spring.thymeleaf.cache=false不起作用的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06
Java中Json字符串直接轉(zhuǎn)換為對象的方法(包括多層List集合)
下面小編就為大家?guī)硪黄狫ava中Json字符串直接轉(zhuǎn)換為對象的方法(包括多層List集合)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08
Java設計模式之簡單工廠 工廠方法 抽象工廠深度總結(jié)
設計模式(Design Pattern)是前輩們對代碼開發(fā)經(jīng)驗的總結(jié),是解決特定問題的一系列套路。它不是語法規(guī)定,而是一套用來提高代碼可復用性、可維護性、可讀性、穩(wěn)健性以及安全性的解決方案2021-09-09
SpringBoot綁定配置文件中變量的四種方式總結(jié)
當在Spring Boot中需要綁定配置文件中的變量時,可以使用以下注解:@PropertySourc,@Value,@Environment,@ConfigurationProperties,具體實現(xiàn)代碼示例文中講解的非常詳細,需要的朋友可以參考下2023-11-11
Java實現(xiàn)ATM銀行管理系統(tǒng)(控制臺版本)
這篇文章主要為大家詳細介紹了如何利用Java語言實現(xiàn)控制臺版本的ATM銀行管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-06-06
springboot自動重連Redis的實現(xiàn)方法
由于網(wǎng)絡或服務器問題,Redis連接可能會斷開,導致應用程序無法繼續(xù)正常工作,本文主要介紹了springboot自動重連Redis的實現(xiàn)方法,具有一定的參考價值,感興趣的可以了解一下2024-02-02

