Flask接口签名sign原理与实例代码浅析
247
2022-11-04
正则表达式在java中的应用
本文介绍正则表达式在java中的一些应用:
1)判断字符串中是否含有指定子字符串 2)捕获字符串中匹配的子字符串 3)替换字符串中指定的子字符串 4)根据不同情况动态替换字符串中的匹配的子字符串
1、判断字符串中是否含有指定子字符串
import java.util.regex.Matcher;import java.util.regex.Pattern;private String checkVideo(String path){ String video = ".mp4|.mov|.flv|.avi"; Pattern r = Pattern.compile(video,Pattern.CASE_INSENSITIVE);//忽略大小写 Matcher m = r.matcher(path); return (m.find()) ? "视频" : "";}
2、捕获字符串中匹配的子字符串 1)普通捕获
//sIds = "1,2,45,6,36"List
2)捕获分组?
private String getTimeStr(String filename){ String pattern = "(?
3、替换字符串中指定的子字符串
替换,直接使用正则表达式,无须构造正则对象
String pattern = "localImageUrl = imgPathLocal + url.replaceAll(pattern,"/").replaceAll("/", "\\\\");
4、根据不同情况动态替换字符串中的匹配的子字符串 3这个替换,是指定好替换内容。但有时,替换内容要根据具体情况,不能预先指定。java这个我暂时找不到代码,先用c#的来示范一下,说明有这个东东。我相信java也有类似的功能,以后找到再替换。
Regex rx = new Regex(@"\s{2,}|(?
" + ((m.Result("${ordernum}") != null) ? m.Result("${ordernum}") : "");}
2021.10.18 java有字符编码的问题,有时会出现含汉字的字符串,无法匹配正则表达式的问题。这时可以参考如下做法:
String getAction(String tpl) { String action = ""; String pattern = "\\>,[\\s\\S]+"; Pattern r = Pattern.compile(pattern); Matcher m = null; try { //不管3721,先将字符串转为"utf-8"编码 m = r.matcher(new String(tpl.getBytes(), "utf-8")); if (m.find()) { action = m.group(); } } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return action; }
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~