正则表达式替换占位符

解析占位符

如何从下面的一个字符串中解析除占位符,并根据变量的类型替换。

java 复制代码
"(<{AMT_field_value,string}> == nil ? false : string.contains( <{AMT_rule_value,string}>, <{AMT_field_value,array}>))

代码如下

java 复制代码
import org.apache.flink.api.java.tuple.Tuple2;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @className: ExpressionParser
 * @Description:
 * @Author: wangyifei
 * @Date: 2023/10/11 21:45
 */
public class ExpressionParser {
    public static void main(String[] args) {
        String str = "(<{AMT_field_value,string}> == nil ? false : string.contains( <{AMT_rule_value,string}>, <{AMT_field_value,array}>))";
        Pattern p = Pattern.compile("<\\{(.*?)\\}>");
        Matcher matcher = p.matcher(str);
        String find = "";
        String[] split = null ;
        String key = null;
        String value = null ;
        String replace = str ;
        Map<String,Object> parameter = new HashMap<>();
        parameter.put("AMT_field_value","vvvv");
        while (matcher.find()) {
            find = matcher.group(1);
            split = find.split("\\s*,\\s*");
            key = split[0];
            value = split[1];
            replace = replace.replace("<{"+find+"}>" , String.valueOf(parameter.get(key)));
        }
        System.out.println(replace);
    }
}
相关推荐
非得登录才能看吗?2 小时前
正则表达式入门
正则表达式
小飞大王6662 小时前
JavaScript基础知识总结(四):常见内置构造函数,正则表达式,作用域与闭包
前端·javascript·正则表达式
BenChuat1 天前
正则表达式详解与实战指南:从入门到常见案例
正则表达式
蒋星熠2 天前
爬虫中Cookies模拟浏览器登录技术详解
开发语言·爬虫·python·正则表达式·自动化·php·web
hanliu20033 天前
实训11 正则表达式
正则表达式
fruge4 天前
前端正则表达式实战合集:表单验证与字符串处理高频场景
前端·正则表达式
爱吃甜品的糯米团子4 天前
JavaScript 正则表达式:选择、分组与引用深度解析
前端·javascript·正则表达式
高山上有一只小老虎5 天前
java 正则表达式大全
java·正则表达式
weixin_436804075 天前
正则表达式可视化 - 正则表达式可视化与文本匹配工具
正则表达式
盼哥PyAI实验室7 天前
正则表达式:文本处理的强大工具
java·服务器·正则表达式