上面实现一个功能,太麻烦了,使用正则表达式,用于操作字符串数据,正则表达式底层也是运行一些代码,其特点如下,
String类有如下方法,
其使用的符号如下,
功能演示:
注意\\d和【0-9】意思一样的,\本身是转义字符,这里不需要转义,需要和d组成一个特殊符号。
组的概念:实现了复用,直接写在小括号(类似函数的封装)。写上小括号,自动进行编号,从1开始。直接拿编号就代表着组,
但是数字有含义,所以要进行转义,\n代表那个组。不写括号,整个表达式默认第0组,组写的很复杂,谁是第一组,第二组?从左括号开始看,按照括号数开始数。
替换,
如何在后面的表达式引用前面的组呢?使用美元符号$+组号。
Pattern没有构造函数,\\b是单词分割符
String类的切割替换等方法底层都是用该匹配器实现的。比如matches方法。具体查看API文档。
boolean |
find() 尝试查找与该模式匹配的输入序列的下一个子序列。 |
boolean |
find(int start)
重置此匹配器,然后尝试查找匹配该模式、从指定索引开始的输入序列的下一个子序列。 |
String |
group()
返回由以前匹配操作所匹配的输入子序列。 |
String |
group(int group)
返回在以前匹配操作期间由给定组捕获的输入子序列。 |
原文:https://www.cnblogs.com/cendz/p/10906115.html