Java正则表达式如何高效匹配字符串中的特定模式?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1037个文字,预计阅读时间需要5分钟。
许多人使用正则表达式时都会遇到以下问题:通过查阅正则表达式的API文档可以了解其语法知识;很多小伙伴会对为什么语法是\d(或\D、\w)产生疑问。
相信很多人在使用正则表达式的时候都会遇到如下的语句:
通过查阅正则表达式的API文档可以了解到正则表达式的语法知识:
很多小伙伴就会产生疑问为什么语法是"\d"(或是"\D"、"\w"),为什么在语句中使用的时候就变成了"\\" ??????
下面以"\\d"为例:
理解一:
这要分两步看
①.首先字符串中的\\被编译器解释为\ ------> 第一步,编译器将字符串转变为“正则表达式”
②.然后作为正则表达式,\d又被正则表达式引擎解释为“数字[0--9]" ------> 第二步,才开始把第一步的结果当做是正则表达式,开始进行匹配!
理解二:
这个是由两部分组成的 \ 转义符 + \d 是一个正则表达式。标识所有数字及0-9
之所以要加\是因为在JAVA中一些特殊的符号(回车)是没有符号代表的。所以需要转义符这个概念。
本文共计1037个文字,预计阅读时间需要5分钟。
许多人使用正则表达式时都会遇到以下问题:通过查阅正则表达式的API文档可以了解其语法知识;很多小伙伴会对为什么语法是\d(或\D、\w)产生疑问。
相信很多人在使用正则表达式的时候都会遇到如下的语句:
通过查阅正则表达式的API文档可以了解到正则表达式的语法知识:
很多小伙伴就会产生疑问为什么语法是"\d"(或是"\D"、"\w"),为什么在语句中使用的时候就变成了"\\" ??????
下面以"\\d"为例:
理解一:
这要分两步看
①.首先字符串中的\\被编译器解释为\ ------> 第一步,编译器将字符串转变为“正则表达式”
②.然后作为正则表达式,\d又被正则表达式引擎解释为“数字[0--9]" ------> 第二步,才开始把第一步的结果当做是正则表达式,开始进行匹配!
理解二:
这个是由两部分组成的 \ 转义符 + \d 是一个正则表达式。标识所有数字及0-9
之所以要加\是因为在JAVA中一些特殊的符号(回车)是没有符号代表的。所以需要转义符这个概念。

