博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java转义符和正则表达式转义符
阅读量:6842 次
发布时间:2019-06-26

本文共 717 字,大约阅读时间需要 2 分钟。

举例来说,连续相同的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);
}

转载地址:http://lrbul.baihongyu.com/

你可能感兴趣的文章
[WPF]有Focus(), 那Unfocus()呢?
查看>>
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 7 章 查询_7.3. 选择列表
查看>>
Intel 收购 Vertex.AI,打造开源深度学习引擎 PlaidML
查看>>
独家 | 用Python Featuretools库实现自动化特征工程(附链接)
查看>>
Thrift源码解析--transport
查看>>
百度竞价账户托管,屏蔽账户恶意点击的2种策略,非常规。
查看>>
JavaScript面向对象编程简明教程
查看>>
[译] 5 个有趣的 Linux 命令行技巧
查看>>
Core Data的基本使用简介
查看>>
ECCV 2018 最佳论文名单公布,何恺明再添一项论文奖
查看>>
JAVA模板方法设计模式——Java设计模式,写漂亮的代码——
查看>>
Debian 包维护者不满 Debian 开发流程,宣布退出
查看>>
有趣的Tensorflow游乐场以及有趣的思考
查看>>
spring源码-bean之初始化-1
查看>>
不为人知的网络编程(七):如何让不可靠的UDP变的可靠?
查看>>
Android--面试题整理(五)
查看>>
php continue break 用例
查看>>
Scrapy小解
查看>>
移动端小项目的小总结~
查看>>
【新知】 量子技术初探
查看>>