js 占位符 正则_带占位符的正则表达式
这是一种更通用的方法,它不要求您提供模式,适用于多个占位符,并且可以匹配多个单词的占位符。比如说,我们有以下模板和输入字符串:
String input = "Hi John Doe, how are you? I'm Jane.";
String template = "Hi $namevar$, how are you? I'm $namevar2$.";
因此,我们首先解析所有占位符名称并将其添加到Map。我们使用Map,以便我们稍后可以将实际的String值指定为键。
Matcher m = Pattern.compile("\\$(\\w*?)\\$").matcher(template);
Map vars = new LinkedHashMap();
while (m.find()) {
System.out.println(m.group(1));
vars.put(m.group(1), null);
}
现在,我们生成模式以将占位符值解析为
String pattern = template;
// escape regex special characters
pattern = pattern.replaceAll("([?.])", "\\\\$1");
for (String var : vars.keySet()) {
// replace placeholders with capture groups
pattern = pattern.replaceAll("\\$"+var+"\\$", "([\\\\w\\\\s]+?)");
}
现在,我们进行匹配并捕获占位符值。然后将这些值存储在上面创建的同一Map中,并将其分配给相应的占位符变量。
m = Pattern.compile(pattern).matcher(input);
if (m.matches()) {
int i = 0;
for (String var : vars.keySet()) {
vars.put(var, m.group(++i));
}
}
现在,让我们通过迭代Map来打印出我们捕获的值
for (Map.Entry entry : vars.entrySet()) {
System.out.println(entry.getKey() + " = " + entry.getValue());
}
输出:
namevar = John Doe
namevar2 = Jane
js 占位符 正则_带占位符的正则表达式相关推荐
- 首尾非零正则_常用的17种正则表达式
17种正则表达式 "^\\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-\\d+)|(0 ...
- pgsql 筛选中文字符正则_匹配中文字符的正则表达式
匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一 ...
- 手机号正则_一起刷题学习正则表达式
在我最开始学习正则表达式的时候看到一堆符号简直头晕,所以很长一段时间我都是百度一下某某正则怎么写,比如:匹配所有手机号码的正则,但是有时候工作中碰到的一些问题网上搜不到,这就尴尬了,后面还是逼着自己花 ...
- java mysql 占位符_在Java中编写带占位符的SQL语句
C#中SQL中带占位符的语句 假设有一张学员信息表Student,通过表中的ID来找学员,查询的SQL语句如下 string sql = string.Format("select * fr ...
- html一个汉字空格占位,HTML中汉字空格占位符
== 普通的英文半角空格 == == == no-break space (普通的英文半角空格但不换行) == 中文全角空格 (一个中文宽度) == == en空格 (半个中文宽度) == ...
- python占位符补数据_Python 占位符格式化的简单示例
这篇文章主要为大家详细介绍了Python 占位符格式化的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 占位符 ...
- python换行符号长度_创建带换行符的可调整大小/多行Tkinter/ttk标签
是否可以使用自动换行创建多行标签,该标签的大小与其父级宽度同步?换句话说,当您更改记事本窗口的宽度时,记事本的换字行为. 用例是一个对话框,它需要完整地呈现多行文本(指令)块,而无需剪裁文本或求助于滚 ...
- java中print换行符_如何在java中打印带换行符的字符串
我需要使用 java打印一个字符串,所以我喜欢以下解决方案经过google搜索了很多.我做了一些更改来打印字符串而不显示打印对话框.我的问题是虽然这个方法正确地打印了字符串,但它不会像我定义的那样破坏 ...
- html+正则+换行+回车,正则与回车换行符使用详解
这次给大家带来正则与回车换行符使用详解,正则与回车换行符使用的注意事项有哪些,下面就是实战案例,一起来看一下. C#中,读取文本文件内容,里面往往有许多回车换行符("\r\n"), ...
最新文章
- 硬件开源需求迫切?开源笔电 Nevona 筹款金额达预设目标3倍
- Java8 ReentrantLock 源码分析
- Navicat Premium创建MySQL存储过程
- DAC8563芯片参考手册重要内容总结
- OpenShift 4 - Pod是如何使用Serivce Account访问API的
- C语言程序所以,C语言程序(1)
- 【12-05】面试题
- Android仿人人客户端(v5.7.1)——Auth授权认证(整理流程,重构代码)
- Android设备间通信(wifi连接)
- Oracle数据库中dual是什么东西啊?
- mysql返回的数据是什么格式_磁盘格式化后能恢复数据吗?先了解什么是格式化...
- MySQL-快速入门(13)MySQL日志
- excel求回归直线方程的公式_“如何在excel中求解任意直线的方程“excel绘制线性回归方程...
- 悉尼大学BUSS6002Assignment1课业解析
- 多租户商城开发 多租户SaaS商城源码下载
- 运放输入偏置电流方向_运放中输入偏置电流和输入失调电流的区别??
- 公路自行车轮市场前景分析及行业研究报告
- gbd的简单使用(一)
- 使用addr2line 定位 FORTIFY: vsprintf: prevented write past end of buffer‘ 报错解决思路
- 超级实时图形计算机,HyperCalc Graphing Calculator(超级图形计算器)