正则表达式“真的不能再少了”基础篇

正则表达式

描述字符串格式的一套体系,其他语言也可以使用。以下只是一些常用的,也是最基础的知识,希望能对想要快速入门的朋友们有一定的帮助。

一个字符

字符串的长度是可变的,有长有短。但是根本上还是由一个一个的字符所组成的,因此我们需要了解如何表示一个字符。例如:表示一个字符 a,使用一对中括号"[ ]",其中放入a 像这样 [a]此时表示一个字符a。中括号"[ ]",表示的含义就是中括号中的其中一个字符。如下:

正则表达式说明
[abc]a、b、c中任意一个字符
[^abc]非a、b、c中任意一个字符
[a-z]a到z中的任意一个字符
[a-zA-Z0-9]a到z,A到Z,0到9中的任意一个字符
[a-z&&[^bc]]a~z除b,c一个字符

[a-z&&[^bc]]可以一步步来看,表示a-z&&[^bc]中的任意一个字符,继续拆分a-z和[ ^bc ],不难看出&&表示“且”,也就是所说a到z并且没有b、c字符。

预定义字符集

就是一些特定字符组合在一起所表示的某一个特定的含义,如下:

正则表达式说明
.任意一个字符
\d任意一个数字字符,相当于[0-9]
\w单词字符,相当于[a-zA-Z0-9_]
\s空白字符,相当与[\t\n\xOB\f\r]
\D非数字字符
\W非单词字符
\S非空白字符

量词

了解如何表示一个字符,表示多个就更简单了。只需要对出现的次数进行限定就行(X{n,} 这个中的n必须设置下限)

正则表达式说明
X?表示0个或1个X
X*表示0个或任意多个X
X+表示1个或任意多个X
X{n}表示n个X
X{n,}表示n个或任意多个X
X{n,m}表示n个到m个X

分组

故名之意,所谓分组,就是用小括号“( )”,将多个字符分成一组,以组为单位进行匹配。也可以在后面使用量词进行数量的限制。

正则表达式说明
(abc|def)abc或者def为一组

边界符

用来表示和限定开始和结束的位置

正则表达式说明
^开始边界
&结束边界

不加边界符部分匹配,Java默认添加边界符。

如果真的要完完整整的学习完正则表达式,这些是完全不够的,简直就是“九牛一毛”。但是只是了解的话,我认为这些就已经足够了。如果真的要用正则表达式解决问题,完全可以找现成的,因为那些已经是用了不能再用了,要比自己写的正确性高的多。基本上也都是常用的,像邮箱的验证、手机号的验证等。当然了,正则表达式还可以对数据进行分割,这个时候就需要我们自己去设计实现自己想要达到的效果了。
最后声明,以上内容是自己的学习、总结的,分享给大家。如果有不当的地方还请大佬指正交流!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值