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转义符和正则表达式转义符的主要内容,如果未能解决你的问题,请参考以下文章

javascript 星号转义符

正则表达式转义符

正则表达式 .*+ 匹配啥?

Python中正则表达式的使用

Java 正则表达式 转义字符

Java正则表达式