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