我们知道,如果要替换字符串中完全相同的内容,可以直接使用String.replace(replaceAll)来替换,如果要替换的内容是正则表达式的形式呢? 举个例子,我们在做短信模板的时候,一般有这样的: 恭喜${name}报名成功,请凭报名编号${code}到现场参加活动! 需要替换${xxx}里面的内容,可以使用正则表达式来查找符合${xxx}的内容,然后替换,这就用到了matcher.appendReplacement和matcher.appendTail了。 代码如下: public static void…

2022-10-15 0条评论 705点热度 1人点赞 admin 阅读全文

有时候在写脚本的时候,遇到一些字符串的变量,会有换行等需要整体替换,例如需要把换行全部替换成\n Shell下可以使用真是表达式的方式来替换:${varName//$'\n'/\\n},例子如下: msg="第一行 第二行 第三行" msg=${msg//$'\n'/\\n} echo $msg # 会输出:第一行\n第二行\n第三行 说明: ${...} - 表示利用正则表达式替换 varName - 变量 // - 表示替换... $'\n' - 需要替换的字符 / - 替换成... \\n - 需要替换成的字…

2022-06-24 0条评论 855点热度 0人点赞 admin 阅读全文

如题,需要使用Javascript提取文本中全部含有${someKey}或{{someKey}}的部分。 可以借助Javascript的正则表达式来查找,如下: 其中string就是我们想要查找的文本(下面几个例子中的都是) // 匹配 ${someKey} var matchList = string.match(/\\${([^}]+)}/g) console.log(matchList) 如果其中的someKey只限制数字,那么这样修改正则表达式: var matchList = string.match(/…

2022-01-23 0条评论 1030点热度 0人点赞 admin 阅读全文

可作为工具方法,使用Java的正则表达式来判断一个给定的字符串是否存在空白(这个空白可能是空格也可能是Tab,也可能是多个这样的空格或者Tab),正则表达式是:^(.*\s+.*)+$,代码如下: // 检查给定的字符串是否包含空白(一个或者多个空格或者Tab) public static boolean containsWhitespace(String s) { Pattern p = Pattern.compile("^(.*\\s+.*)+$"); Matcher m = p.matcher(s); ret…

2022-01-10 0条评论 974点热度 0人点赞 admin 阅读全文

利用正则表达式判断给定IP地址是否是内网IP。 利用InetAddress全面判断给定IP是否是内网IP(支持IPv6) 详见https://blog.terrynow.com/2021/10/25/java-inetaddress-check-given-ip-is-local-address-support-ipv6/ 说明下,内网IP一般是这么几个地址段: 10.0.0.0/8 10.0.0.0--10.255.255.255 172.16.0.0/12 172.16.0.0--172.31.255.255 …

2021-10-24 0条评论 3421点热度 0人点赞 admin 阅读全文

如下一串短信模板: 尊敬的${name}:${companyName}邀请您于${startDate}为${studentName}的学生就『${courseName}』做专题授课,地址是${courseAddress}。 我们需要利用正则表达式找出短信模板里的变量:${variable} 一开始我使用的正则表达式是:${(.+)} public class Test { public static void main(String[] args) throws Exception { String string …

2021-10-13 0条评论 1753点热度 0人点赞 admin 阅读全文

从一串含有地址的字符串中,提取出省份或者城市,例如,从『江苏省苏州市吴中区吴中大道1188号』或者『上海市浦东新区世博大道1000号』提取出『苏州市』和『上海市』 以下JS代码以提取城市为例,如果提取省份,稍加修改便可。 /** * 从地址中提取城市 **/ function parserCityFromAddress(address) { var city = ''; if (address.indexOf('市') > 0) { var regex = /.+?(省|市)/g; var strings =…

2021-09-10 0条评论 2586点热度 0人点赞 admin 阅读全文

本文整理了使用JS检查输入的String是否符合复杂度要求,包含常用的几种(字母、大小写、特殊符号、长度要求等) 密码必须包含字母、数字和特殊符号(特殊符号可以是:`~!@#$%^&*()-=_+;':",./<>?,可以根据实际情况修改),且长度是6-32位: console.log("isValidPassword:" + isValidPassword("11,A1")) //6-32位,且包含字母、数字和特殊符号 function isValidPassword(password) { …

2021-08-19 0条评论 1484点热度 0人点赞 admin 阅读全文

网上找了一些判断是否是正确的URL的正则表达式,对普通的网址都还可以正常判断,不过现在网址也是日新月异,比如有的网站是是IP地址,有的是带端口号的,还有的有中文(或者中文参数),这种复杂的网址,我用网上找到的都无法正确判断,所以自己写了一个,目前来看都是挺好用的,分享下,其实也是挺简单的,就是网址后面可以跟着任意字符! /** * 检查给定的网址是否是有效的URL,限定http和https开头 * 当然可以自己再判断url是否null */ public static boolean isValidUrl(Stri…

2021-07-23 0条评论 3030点热度 0人点赞 admin 阅读全文

本篇整理了一些常用检查密码复杂度的正则表达式,可以根据实际情况稍作修改,请自行取用! 密码必须包含字母、数字和特殊符号(特殊符号可以是:,可以根据实际情况修改),且长度是6-32位: ^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[`~!@#$%^&*()-=_+;':",./<>?])(?=\S+$).{6,32}$ 密码是8-16位字母和数字组合 ^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$ 密码必须包含大写、小写、数字和特殊字符,…

2021-07-15 0条评论 2811点热度 0人点赞 admin 阅读全文
12