正则笔记
文章目录
String str ="{"https://images-na.ssl-images-amazon.com/images/I/81dbJ1GJ6cL._SY450_.jpg":[450,384],"https://images-na.ssl-images-amazon.com/images/I/81dbJ1GJ6cL._SX679_.jpg":[797,679],"https://images-na.ssl-images-amazon.com/images/I/81dbJ1GJ6cL._SX522_.jpg":[612,522],"https://images-na.ssl-images-amazon.com/images/I/81dbJ1GJ6cL._SX466_.jpg":[547,466],"https://images-na.ssl-images-amazon.com/images/I/81dbJ1GJ6cL._SX425_.jpg":[499,425],"https://images-na.ssl-images-amazon.com/images/I/81dbJ1GJ6cL._SY355_.jpg":[355,303],"https://images-na.ssl-images-amazon.com/images/I/81dbJ1GJ6cL._SX569_.jpg":[668,569]}";
Matcher matcher = Pattern.compile("http.*?"").matcher(str);
"http.*"":从http开始到最后一个"
"http.*?"" 从http开始到到多个",有多个匹配结果
while (matcher.find()) {
//matcher.group()得到每段匹配结果
//replaceAll("(http.*?)"", "$1");去除掉", $1即代表http.*?内容,多个括号依次类推
System.out.println(matcher.group().replaceAll("(http.*?)"", "$1"));
}
str = "colorImages': { 'initial': [{\"hiRes\":\"https://images-na.ssl-images-amazon.com/images/I/81dbJ1GJ6cL._SL1500_.jpg\",\"thumb\":\"https://images-na.ssl-images-amazon.com/images/I/41yZXe004KL._SS40_.jpg\",\"large\":\"https://images-na.ssl-images-amazon.com/images/I/41yZXe004KL.jpg\",\"main\":{\"https://images-na.ssl-images-amazon.com/images/I/81dbJ1GJ6cL._SY355_.jpg\":[355,303],\"https://images-na.ssl-images-amazon.com/images/I/81dbJ1GJ6cL._SY450_.jpg\":[450,384],\"https://images-na.ssl-images-amazon.com/images/I/81dbJ1GJ6cL._SX425_.jpg\":[499,425],\"https://images-na.ssl-images-amazon.com/images/I/81dbJ1GJ6cL._SX466_.jpg\":[547,466],\"https://images-na.ssl-images-amazon.com/images/I/81dbJ1GJ6cL._SX522_.jpg\":[612,522],\"https://images-na.ssl-images-amazon.com/images/I/81dbJ1GJ6cL._SX569_.jpg\":[668,569],\"https://images-na.ssl-images-amazon.com/images/I/81dbJ1GJ6cL._SX679_.jpg\":[797,679]},\"variant\":\"MAIN\",\"lowRes\":null},{\"hiRes\":\"https://images-na.ssl-images-amazon.com/images/I/818%2BOzCMXlL._SL1500_.jpg\",\"thumb\":\"https://images-na.ssl-images-amazon.com/images/I/41rmeTGYiFL._SS40_.jpg\",\"large\":\"https://images-na.ssl-images-amazon.com/images/I/41rmeTGYiFL.jpg\",\"main\":{\"https://images-na.ssl-images-amazon.com/images/I/818%2BOzCMXlL._SY355_.jpg\":[355,355],\"https://images-na.ssl-images-amazon.com/images/I/818%2BOzCMXlL._SY450_.jpg\":[450,450],\"https://images-na.ssl-images-amazon.com/images/I/818%2BOzCMXlL._SX425_.jpg\":[425,425],\"https://images-na.ssl-images-amazon.com/images/I/818%2BOzCMXlL._SX466_.jpg\":[466,466],\"https://images-na.ssl-images-amazon.com/images/I/818%2BOzCMXlL._SX522_.jpg\":[522,522],\"https://images-na.ssl-images-amazon.com/images/I/818%2BOzCMXlL._SX569_.jpg\":[569,569],\"https://images-na.ssl-images-amazon.com/images/I/818%2BOzCMXlL._SX679_.jpg\":[679,679]},\"variant\":\"PT01\",\"lowRes\":null},{\"hiRes\":null,\"thumb\":\"https://images-na.ssl-images-amazon.com/images/I/51iAF5-bjRL._SS40_.jpg\",\"large\":\"https://images-na.ssl-images-amazon.com/images/I/51iAF5-bjRL.jpg\",\"main\":{\"https://images-na.ssl-images-amazon.com/images/I/51iAF5-bjRL._SY355_.jpg\":[355,355],\"https://images-na.ssl-images-amazon.com/images/I/51iAF5-bjRL._SY450_.jpg\":[450,450],\"https://images-na.ssl-images-amazon.com/images/I/51iAF5-bjRL._SX425_.jpg\":[425,425],\"https://images-na.ssl-images-amazon.com/images/I/51iAF5-bjRL._SX466_.jpg\":[466,466],\"https://images-na.ssl-images-amazon.com/images/I/51iAF5-bjRL.jpg\":[500,500]},\"variant\":\"PT02\",\"lowRes\":null},{\"hiRes\":\"https://images-na.ssl-images-amazon.com/images/I/51bpznVJyeL._SL1000_.jpg\",\"thumb\":\"https://images-na.ssl-images-amazon.com/images/I/410PRGCVGCL._SS40_.jpg\",\"large\":\"https://images-na.ssl-images-amazon.com/images/I/410PRGCVGCL.jpg\",\"main\":{\"https://images-na.ssl-images-amazon.com/images/I/51bpznVJyeL._SX355_.jpg\":[286,355],\"https://images-na.ssl-images-amazon.com/images/I/51bpznVJyeL._SX450_.jpg\":[362,450],\"https://images-na.ssl-images-amazon.com/images/I/51bpznVJyeL._SX425_.jpg\":[342,425],\"https://images-na.ssl-images-amazon.com/images/I/51bpznVJyeL._SX466_.jpg\":[375,466],\"https://images-na.ssl-images-amazon.com/images/I/51bpznVJyeL._SX522_.jpg\":[420,522],\"https://images-na.ssl-images-amazon.com/images/I/51bpznVJyeL._SX569_.jpg\":[458,569],\"https://images-na.ssl-images-amazon.com/images/I/51bpznVJyeL._SX679_.jpg\":[547,679]},\"variant\":\"PT03\",\"lowRes\":null},{\"hiRes\":\"https://images-na.ssl-images-amazon.com/images/I/91mqriezkiL._SL1500_.jpg\",\"thumb\":\"https://images-na.ssl-images-amazon.com/images/I/412tV3xY2lL._SS40_.jpg\",\"large\":\"https://images-na.ssl-images-amazon.com/images/I/412tV3xY2lL.jpg\",\"main\":{\"https://images-na.ssl-images-amazon.com/images/I/91mqriezkiL._SX355_.jpg\":[240,355],\"https://images-na.ssl-images-amazon.com/images/I/91mqriezkiL._SX450_.jpg\":[305,450],\"https://images-na.ssl-images-amazon.com/images/I/91mqriezkiL._SX425_.jpg\":[288,425],\"https://images-na.ssl-images-amazon.com/images/I/91mqriezkiL._SX466_.jpg\":[316,466],\"https://images-na.ssl-images-amazon.com/images/I/91mqriezkiL._SX522_.jpg\":[354,522],\"https://images-na.ssl-images-amazon.com/images/I/91mqriezkiL._SX569_.jpg\":[385,569],\"https://images-na.ssl-images-amazon.com/images/I/91mqriezkiL._SX679_.jpg\":[460,679]},\"variant\":\"PT04\",\"lowRes\":null},{\"hiRes\":\"https://images-na.ssl-images-amazon.com/images/I/81L0t2yfJ0L._SL1500_.jpg\",\"thumb\":\"https://images-na.ssl-images-amazon.com/images/I/41T7fO9yaUL._SS40_.jpg\",\"large\":\"https://images-na.ssl-images-amazon.com/images/I/41T7fO9yaUL.jpg\",\"main\":{\"https://images-na.ssl-images-amazon.com/images/I/81L0t2yfJ0L._SY355_.jpg\":[355,355],\"https://images-na.ssl-images-amazon.com/images/I/81L0t2yfJ0L._SY450_.jpg\":[450,450],\"https://images-na.ssl-images-amazon.com/images/I/81L0t2yfJ0L._SX425_.jpg\":[425,425],\"https://images-na.ssl-images-amazon.com/images/I/81L0t2yfJ0L._SX466_.jpg\":[466,466],\"https://images-na.ssl-images-amazon.com/images/I/81L0t2yfJ0L._SX522_.jpg\":[522,522],\"https://images-na.ssl-images-amazon.com/images/I/81L0t2yfJ0L._SX569_.jpg\":[569,569],\"https://images-na.ssl-images-amazon.com/images/I/81L0t2yfJ0L._SX679_.jpg\":[679,679]},\"variant\":\"PT05\",\"lowRes\":null}]},";
//从含有{的开始到最后一个}的内容
matcher = Pattern.compile("\\{.*\\}").matcher(str);
while (matcher.find()) {
System.out.println(matcher.group());
}
正则需要转义字符:'$', ‘(’, ‘)’, ‘*’, ‘+’, ‘.’, ‘[’, ‘]’, ‘?’, ‘\’, ‘^’, ‘{’, ‘}’, ‘|’
异常现象: java.util.regex.PatternSyntaxException: Dangling meta. character ‘*’ near index 0 解决方法: 对特殊字符加\转义即可。
注意:虽然使用[]在部分条件下也可以,但是在对于(、[、{范围边界开始符不匹配的情况下会报如下: 异常现象:java.util.regex.PatternSyntaxException: Illegal repetition near index 50
Java过滤正则表达式特殊字代码如下(注意:\需要第一个替换,否则replace方法替换时会有逻辑bug) /**
- 转义正则特殊字符 ($()*+.[]?^{},|)
- @param keyword
- @return / public static String escapeExprSpecialWord(String keyword) { if (StringUtils.isNotBlank(keyword)) { String[] fbsArr = { “\”, “$”, “(”, “)”, “”, “+”, “.”, “[”, “]”, “?”, “^”, “{”, “}”, “|” }; for (String key : fbsArr) { if (keyword.contains(key)) { keyword = keyword.replace(key, “\” + key); } } } return keyword;
作者:青鸟天空 来源:CSDN 原文:https://blog.csdn.net/bbirdsky/article/details/45368709 版权声明:本文为博主原创文章,转载请附上博文链接!
文章作者 cr6588
上次更新 2018-10-31