【暑期实训】【5-1】Java正则表达式(一)

简述

正则表达式是一种模式,可以检查字符串是否是一种模式,或者从字符串中找出符合该模式的内容。
正则表达式可以使用大多数字符来描述,它们都将匹配它本身。例如,正则表达式a将匹配字符串a,正则表达式abc将匹配字符串abc。尽管这看起来就是在判断字符串是否相等,但在引入了元字符后将会变得完全不一样。

元字符

元字符指的是有特殊含义的字符。

字符含义
\转义
?匹配前面的内容零次或一次
+匹配前面的内容一次或多次
*匹配前面的内容零次、一次或多次
^匹配行首
$匹配行尾
.匹配除换行符和回车符外的任何内容
|左右选择一个进行匹配

在引入元字符后,我们可以用ab?来匹配aab,用a+来匹配aaaaaaaaaaaaa等。

字符集

可以用中括号定义字符集,它可以匹配字符集中任何一个字符。
例如,[abc]可以匹配abc,但不能匹配d
如果字符集中定义的内容较多(但具有连贯性),可以使用-表示范围。例如,[a-z]将匹配所有小写字母,[A-Z]将匹配所有大写字母,[0-9]将匹配所有数字,[a-zA-Z0-9]将匹配所有字母和数字。
同样可以定义反向字符集,它可以匹配给定字符集中之外的任意一个字符。例如,[^0-9]将匹配数字以外的任何字符。

匹配次数

除了可以用元字符规定匹配次数外,还可以用大括号表示。

正则表达式匹配次数
{n}匹配n次
{n,}匹配至少n次
{n,m}匹配至少n次,至多m次

例如,a{5}将匹配aaaaa,对于aaaaaaaaaa都不能匹配。

转义

如果我们需要匹配元字符,那么需要进行转义。例如,要匹配*,需要使用正则表达式\*
同时,转义也可以匹配一些常用的内容。

转义含义
\d匹配数字
\w匹配字母、数字和下划线
\s匹配所有空白
\b匹配单词边界
\D匹配非数字
\W匹配非字母、数字和下划线
\S匹配所有非空白
\B匹配非单词边界
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值