为了账号安全,请及时绑定邮箱和手机立即绑定

正则表达式 [0-9]+\\d*$和\\b[A-Za-z]+\\b 的匹配例子是怎么样的呀??

正则表达式 [0-9]+\\d*$和\\b[A-Za-z]+\\b 的匹配例子是怎么样的呀??

慕少森 2019-03-28 18:18:09
正则表达式 [0-9]+\\d*$和\\b[A-Za-z]+\\b 的匹配例子是怎么样的呀??哪位大神可以讲解一下!谢谢~
查看完整描述

2 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

第一个 [0-9]+\\d*$ 这个正则... 看着有点意思。
[0-9]+ 意思是 至少有一位 0-9 之间的数字,0123456789 任意一个都行,至少一位,不限制最多位数。
\\d 是被转义过的,这个正则应该是在程序内被超下来的,在转义回来应该是 \d ,这就是我说的有意思的原因,因为 \d 代表的意思也是任意数字,但是 * 则代表,零位或多位。
$ 是结束符。
整个正则的意思就是说 前面有什么都无所谓,但是在字符串结尾前,至少要有一位数字的意思。
直接写成 \d+$ 或者 [0-9]+$ 都可以。

abc1
123
1

以上三个字符串都满足第一个正则表达式的要求。

\\b[A-Za-z]+\\b 这个我们先转义回来,\\b 转义为 \b 之后为 \b[A-Za-z]+\b

\b 的是字符分界符,代表的字符开头或者结尾。[A-Za-z] 意思是 大写或者小写的所有英文字母。
加号刚才说了,是 匹配 一个或多个的意思,不太好解释,下面的都满足要求:

abc abc abc
hello ccc world
hel'lo ccc world

以上任意一组变成数字就不行了。

字符分界符不单单是空格,所有可作为单词分界的,都为分界符。



查看完整回答
反对 回复 2019-03-31
?
紫衣仙女

TA贡献1839条经验 获得超15个赞

[0-9]+ 和\\d* 意思是 至少有一位 0-9 之间的数字,因为符号 +是表示至少有一位数字,而*表示有0个或者多个数字。所以规则组合在一起 就是至少有一位数字。
而$这个符号是表示以它前面的规则部分对应的内容结尾,也就是说 “[0-9]+\\d*$”的意思就是匹配至少一位数字结尾的片段。

\\b[A-Za-z]+\\b这个规则的意思 就是 因为在部分语言中 正则的表示方法需要转义, 这里的\\b就是转义的结果其意思就是单词结束符。中间的部分是表示至少一个字母 无论大小写。

查看完整回答
反对 回复 2019-03-31
  • 2 回答
  • 0 关注
  • 1181 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信