工作中需要用到的Java知识(四)

工作中需要用到的Java知识(四)

今天是过年后第一天上班,暂时还没有什么需求,所以就继续复习一下Java的内容。

正则表达式

在Java中我们可以通过regex正则表达式,来设定字符串的格式,相当于给参数设定了一个模板,范围。用来保证接收到的数据都是可以操作并且有效的,阻止了无效参数的传递。

正则表达式的符号含义(这里我只介绍一些我知道并用过的):

符号 作用
^ 以指定字符串开头
\w 匹配字母、数字、下划线
\W 匹配字母、数字、下划线
\s 匹配任意空字符
\S 匹配任意空字符
\d 匹配任意数字,相当于[0-9]
\D 匹配非数字的字符
\A 以指定字符串开头
\Z 匹配字符串结尾,如果存在换行,只匹配到换行前的结束字符串
\z 匹配字符串结尾,如果存在换行,同时还会匹配换行符
\n 换行符
\t 制表符,相当于空格
. 匹配任意单个字符,除了换行符
* 匹配任意0到n个字符
+ 匹配任意1到n个字符
[ ] 匹配方括号内的字符
[^ ] 匹配方括号内的字符
{n} 匹配n个表达式前的内容
{n,m} 匹配n到m个表达式前的内容,贪婪方式
? 匹配0个或1个前面的正则表达式定义的片段,非贪婪方式

注意:

贪婪方式非贪婪方式的区别在于,贪婪方式尽可以匹配较多的字符串,如果一个字符串中有多个内容匹配,会选择字符串长度长的。非贪婪方式正好与他相反,会匹配尽可能长度小的。

^\A的区别在于,^表示开头字符,换行后的开头字符等等。\A表示开头字符。
$\Z的区别在于,$表示结尾字符,换行符之前的结尾字符等等。\Z表示结尾字符。

MSDN简述:
^
指定匹配必须出现在字符串的开头或行的开头。有关更多信息,请参阅正则表达式选项中的 Multiline 选项。
$
指定匹配必须出现在以下位置:字符串结尾、字符串结尾的 \n 之前或行的结尾。有关更多信息,请参阅正则表达式选项中的 Multiline 选项。
\A
指定匹配必须出现在字符串的开头(忽略 Multiline 选项)。
\Z
指定匹配必须出现在字符串的结尾或字符串结尾的 \n 之前(忽略 Multiline 选项)。
\z
指定匹配必须出现在字符串的结尾(忽略 Multiline 选项)。

代码实例,展示 ^\A 的区别:
匹配开头字符的两种方式

使用情况与实例:

1.筛选出固定格式的字符串内容
检测字符串是否符合规定

2.替换功能

替换功能

先简单记录这些,其实在正则表达式中,有固定的对象用来进行正则表达式,但是在工作中没怎么用过,今天的内容就当作了解一下正则表达式,最后把另一种形式的替换方式粘贴出来看看。
替换方式2

正则表达式在工作中的应用大概就是截取字符串,规范入参格式等作用,暂时就使用过这两种方法,用来确定电话号格式或者截取字符串中的数字等。所以大概了解一下正则表达式就可以了,希望这篇文章对你有所帮助。

查看下一篇请戳这里↓
工作中需要用到的Java知识(五)

猜你喜欢

转载自blog.csdn.net/weixin_49290171/article/details/113847089