要匹配的文字是:a:2:{i:26753;a:1:{s:5:"price";s:5:"15.00";}i:26754;a:1:{s:5:"price";s:5:"20.00";}}
正则表达式是:i:\d*;a:1:{s:5:"price";s:\d*:"\d*.\d*";}
用开源中国的正则表达式测试是可以匹配到的
但是我放到Java代码里面:
Pattern pat = Pattern.compile(regEx); 的时候就报错了。
错误信息是:
请各位帮我看看是哪里出问题了 ?
放到java里的时候你的`\`转换成`\\`了吗?
`{}`也是正则里的特殊字符,最好转义掉
放到java里的时候你的`\`转换成`\\`了吗?
`{}`也是正则里的特殊字符,最好转义掉
{}不加转义就代表group了
Stringstr="a:2:{i:26753;a:1:{s:5:\"price\";s:5:\"15.00\";}i:26754;a:1:{s:5:\"price\";s:5:\"20.00\";}}";Stringptn="i:\\d*;a:1:\\{s:5:\"price\";s:\\d*:\"\\d*.\\d*\";\\}";Patterntmp=Pattern.compile(ptn);System.out.println(tmp.matcher(str).find());{}不加转义就代表group了
Stringstr="a:2:{i:26753;a:1:{s:5:\"price\";s:5:\"15.00\";}i:26754;a:1:{s:5:\"price\";s:5:\"20.00\";}}";Stringptn="i:\\d*;a:1:\\{s:5:\"price\";s:\\d*:\"\\d*.\\d*\";\\}";Patterntmp=Pattern.compile(ptn);System.out.println(tmp.matcher(str).find());版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。