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);
}

时间: 2024-07-28 16:55:36

java转义符和正则表达式转义符的相关文章

正则表达式转义符

元字符 元字符:出现在正则表达式中具有特殊含义的字符 单个元字符: . 匹配除换行符以外的任意字符 \w 匹配字母.数字.下划线.汉字. \s 匹配任意空白符(空格.制表符.换页等fnrtv) \t 匹配制表符 \v 匹配垂直制表符 \d 匹配数字 \b 匹配单词开始或结束的位置 \n 匹配换行符 \r 匹配回车符 \W 匹配非字母.数字.下划线.汉字 \S 匹配任意一个非空白符字符 \D 匹配非数字 \B 匹配非单词开始或结束的位置 特殊字符:不需要\即可表示特殊含义的字符 $ 匹配字符串结束

含有换行符的正则表达式如何匹配

含有换行符的正则表达式如何匹配: \s\S \S是各种空白字符,比如\n\t之类的,而\s是^\S 点号( . )可以匹配换行符之外的任何单个字符,被称之为通配符. 匹配包含\n在內的任何字符用 (.|\n). import re strvar = """hello world!""" patt = r'(.|\n)*' rs = re.match(patt, strvar) print rs.group() 用正则表达式来获取一段文本中的任意字

Freemarker输出json和java字符串以及javascript代码转义

Java 语言规则的字符串转义:${content?j_string} JavaScript 语言规则的字符串转义:${content?js_string} JSON 规则的字符串转义:${content?json_string} 文档:http://freemarker.org/docs/ref_builtins_string.html#ref_builtin_j_string

Java语言中的-----访问修饰符

day04 Java语言中的----访问修饰符 一.访问修饰符概述: 访问修饰符就是对变量或者是方法或者是类的一个修饰,通过修饰以后实现一些必要的权限,主要是说明类成员如何被使用的作用. 二.访问修饰符 1.访问修饰符有哪些? 访问修饰符总共有8种,本文只先给大家说static和final两个修饰符 1.1.final.修饰常量的 1.2.static.修饰静态的 1.3.abstract. 1.4.native. 1.5.sysnchronized.修饰线程的 1.6.transient. 1

Java语言中的权限修饰符

1.Java语言中的权限修饰符主要包括private,public ,default , protected ,这些修饰符控制着对类和类的成员变量以及成员方法的访问. 用权限修饰符修饰变量时的语法格式: puclic 类型  属性0; private 类型 属性1; private 类型 属性2; 类型 属性3;(default权限修饰符一般不写) 如果一个类的成员变量被修饰为private的时候,则该成员变量只能在本类中使用,在子类中是不可见的.如果非要调用,通过get/set方法就可以获取.

Java中各种修饰符与访问修饰符

Java中各种修饰符与访问修饰符 类: 访问修饰符 修饰符 class 类名称 extends 父类名称 implement 接口名称 (访问修饰符与修饰符的位置可以互换) 访问修饰符 名称 说明 备注 public 可以被所有类访问(使用) public类必须定义在和类名相同的同名文件中 package 可以被同一个包中的类访问(使用) 默认的访问权限,可以省略此关键字,可以定义在和public类的同一个文件中 修饰符 名称 说明 备注 final 使用此修饰符的类不能够被继承 abstrac

Java杂谈之类的访问修饰符及其他注意点知识

package JavaObject; public class Person { //hand为内部类,内部类的访问修饰符可以任意 //private class hand{} public String name; //protected访问修饰符,对于同一个包或者子类是可以访问到的 protected int sex; //缺省对同一个包或继承子类是可以访问到的但是同一个包里面的子类就访问不到 int age; //私有,Person自己才能访问 private double money;

JavaScript正则表达式修饰符

正则表达式通常用于两个字符串方法: search()方法用于检索字符串中指定的字符串,或检索与正则表达式相匹配的子字符串,并返回子字符串的起始位置. replace()方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子字符串. 正则表达式修饰符 修饰符 可以在全局搜索中不区分大小写: i:执行对大小写不敏感的匹配 g:执行全局匹配(查找所有匹配而非在找到第一个匹配后停止) m:执行多行匹配 原文地址:https://www.cnblogs.com/dingyou/p/91

java 基础 四种权限修饰符

/** * Java有四种权限修饰符: * public > protected > (default) > private * 同一个类 YES YES YES YES * 同一个包 YES YES YES NO * 不同包子类 YES YES NO NO * 不同包非子类 YES NO NO NO * * 注意:(default)并不是关键字default,而是什么都不写. */ 原文地址:https://www.cnblogs.com/mantishell/p/11801662.h