取值
public String formatParamCode(String paramCode){
return paramCode.replaceAll("\\$", "").replaceAll("\\{", "").replaceAll("\\}", "");
}
public String composeMessage(String data, Map<String,String> paramData) throws Exception {
String regex = "\\$\\{(.+?)\\}";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(data);
StringBuffer msg = new StringBuffer();
while (matcher.find()) {
String key = matcher.group(1);// 键名
String value = (String) paramData.get(key);// 键值
if(value == null) {
value = "";
} else {
value = value.replaceAll("\\$", "\\\\\\$");
}
matcher.appendReplacement(msg, value);
}
matcher.appendTail(msg);
return msg.toString();
}
//取${} 变量,并存到Map中
Map<String,String> paramData = new HashMap<String,String>();
Pattern pattern = Pattern.compile("(\\$\\{[^\\}]+})");
Matcher matcher = pattern.matcher(data);
while(matcher.find()){
String paramCode = matcher.group(1);
paramData.put(formatParamCode(paramCode),queryParamValue(paramCode));
}
//替换值
try {
return composeMessage(data, paramData);
} catch (Exception e) {
e.printStackTrace();
}
分享到:
相关推荐
java代码,从image标签中正则匹配取出src标签的内容,java代码,从image标签中正则匹配取出src标签的内容
精通正则表达式第三版 搜集于网络 前言..........I 第1章:正则表达式入门.... 1 解决实际问题... 2 作为编程语言的正则表达式... 4 以文件名做类比... 4 以语言做类比... 5 正则表达式的知识框架... 6 对于...
书中提供了上百种可以在实战中使用的实例,以帮助读者使用正则表达式来处理数据和文本。对于如何使用正则表达式来解决性能不佳、误报、漏报等常见的错误以及完成一些常见的任务,本书给出了涉及基于C#、Java、...
自从jdk1.4推出java.util.regex包,就为我们提供了很好的JAVA正则表达式应用平台。 因为正则表达式是一个很庞杂的体系,所以我仅例举些入门的概念,更多的请参阅相关书籍及自行摸索。 \\ 反斜杠 \t 间隔 ('\u0009...
正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界。 -或- 对正则表达式功能字符的还原,如"*"匹配它...
书中提供了上百种可以在实战中使用的实例,以帮助读者使用正则表达式来处理数据和文本。对于如何使用正则表达式来解决性能不佳、误报、漏报等常见的错误以及完成一些常见的任务,本书给出了涉及基于C#、Java、...
正则表达式就是专门为了校验数据而产生的一个语法,除了可以校验数据,还可以提取一些想要的固定模式数据,还可以替换数据 – 替换字符串(正则表达式主要用于字符串的处理 ) 正则表达式就是一个模式,可以用来校验...
正则表达式 是一个特殊的字符序列,一个字符串是否与我们所设定的这样的字符序列,相匹配快速检索文本、实现替换文本的操作 json(xml) 轻量级 web 数据交换格式 import re\na='C|C++|Java|C#||Python|Javascript'...
软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备...
可以把常用的正则表达式定义在脚本中,直接运行脚本即可替换文字 14. 256位 AES加密/解密 用PilotEdit直接透明地编辑一个加密的文件 加密/解密多个文件和目录 加密/解密超过4G的文件 15. 文件组 双击文件组...
正如上面说的,正则表达式看起来非常复杂,让人害怕,大多数的PHP初学者都会跳过这里,继续下面的学习,但是PHP中的正则表达式有着可以利用模式匹配找到符合条件的字符串、判断字符串是否合乎条件或者用指定的字符...
格式化文件操作,将数据按照模板写入新文件,正则表达式替换模板指定内容,文件读写,stateprocess.java 项目运行文件
通过正则表达式或者自定义的匹配规则,实现对 URL 的灵活匹配和重写。 配置文件解析: 支持通过 XML 或者 JSON 格式的配置文件,配置 URL 重写规则和参数。 实现配置文件的解析功能,将配置文件中的规则转换为内部...
>可以把常用的正则表达式定义在脚本中,直接运行脚本即可替换文字 14、256位 AES加密/解密 >用PilotEdit直接透明地编辑一个加密的文件 >加密/解密多个文件和目录 >加密/解密超过4G的文件 15、文件...
文本编辑器,支持文本编辑,比较,FTP编辑,FTP上传下载,加密,十六进制编辑,列模式,回行显示,正则表达式,多行查找和替换,代码折叠,关键字高亮显示,编辑400GB的大文件,比较100GB的大文件,对超过1G的大文件...
多线程, 并发及线程基础 数据类型转换的基本原则 垃圾回收(GC) Java 集合框架 数组 字符串 GOF 设计模式 ...正则表达式 JVM 底层 Java 最佳实践 JDBC Date, Time 与 Calendar Java 处理 XML JUnit 编程
leapYearByLogical.java 用逻辑表达式判断闰年 lowToUpper.java 小写字母转换成大写字母 lozengeStar.java 输出一个由*组成的菱形 multiplyTable.java 求乘法口诀表 narrowingConversion_1.java 缩减转换引发...
无需写任何代码,只需你熟悉正则表达式和xpath,通过简单的配置便可实现一个爬虫。实现了基于corn的定时调度功能。提供了文本替换、正则查找、拆分等处理逻辑。提供了文件下载功能。提供了简单通用存储功能,能够将...
使用log4j2实现日志数据脱敏
正则表达式重命名器Regex重命名器是一个批处理文件重命名器,它接受正则表达式来查找和替换目录(或子目录)下的文件名。 替换值可以是“硬类型”值,也可以来自文件元数据(如修改后的日期和大小),甚至可以是文件...