java转义符和正则表达式转义符
Posted 不如来编码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java转义符和正则表达式转义符相关的知识,希望对你有一定的参考价值。
举例来说,连续相同的3位数字的正则表达式的标准语法是:
([\d])\1{2}
但是如果在java代码中这么写,就会出现语法错误,如下:
String regEx = "([\d])\1{2}";
考虑到\符号在java字符串的语法中属于转义符,所以,需要的java的语法是:
String regEx = "([\\d])\\1{2}";
为了加深印象,再来看下一个例子:前面连续相同的3位数字,后面连续相同的三位字符的正则表达式的标准语法是:
(\d)\1{2}(.)\2{2}
而在java中,是这么写的:
String regEx = "(\\d)\\1{2}(.)\\2{2}";
注意,\1和\2指的是patten的位置。
最后给出整段测试代码:
@Test
public void test02(){
// 要验证的字符串
String str = "111";
// 正则表达式规则
String regEx = "([\\d])\\1{2}";
//String regEx = "([\d])\1{2}";
// 编译正则表达式
Pattern pattern = Pattern.compile(regEx);
// 忽略大小写的写法
// Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(str);
// 查找字符串中是否有匹配正则表达式的字符/字符串
boolean rs = matcher.find();
System.out.println(rs);
}
以上是关于java转义符和正则表达式转义符的主要内容,如果未能解决你的问题,请参考以下文章