您的位置:首页 > 编程语言 > Java开发

java 正则匹配 特殊字符 减号- 的情况,处理方式

2017-06-09 14:16 926 查看
都知道,要想匹配字符串中间,一部分的正则式为:

String str = "qwert12345yuiop";

str.matches("\\w+12345\\w+"));

或者

String str1 = "12345";

str.matches("\\w+"+ str1 +"\\w+"));

都是OK的!

但是遇到字符串中间,穿插有特殊字符时,好久GG了,下面是我自己的一种解决方案,可供参考;

String str = "instance-00000200-61ff2872-6320-4f53-9b51-1e5e9e174198-tap5fe6d0a2-03";

             //检查str中间是否包含12345

             String str1 = "61ff2872-6320-4f53-9b51-1e5e9e174198" ;

             System.out.println(str.replace("-",""));

             System.out.println(str1.replace("-",""));

             System.out.println(str + ":" + str.replace("-","").matches("\\w+"+str1.replace("-","")+"\\w+")); //true

             System.out.println(str1.substring(0,8));

             System.out.println(str + ":" + str.matches("\\w+61ff2872-6320-4f53-9b51-1e5e9e174198\\w+")); //false

也算是一种取巧的方法,将中间的特殊字符,转换掉,正则表达式就能正常工作了,O(∩_∩)O~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: