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
以上任意一组变成数字就不行了。
字符分界符不单单是空格,所有可作为单词分界的,都为分界符。
TA贡献1839条经验 获得超15个赞
[0-9]+ 和\\d* 意思是 至少有一位 0-9 之间的数字,因为符号 +是表示至少有一位数字,而*表示有0个或者多个数字。所以规则组合在一起 就是至少有一位数字。
而$这个符号是表示以它前面的规则部分对应的内容结尾,也就是说 “[0-9]+\\d*$”的意思就是匹配至少一位数字结尾的片段。
\\b[A-Za-z]+\\b这个规则的意思 就是 因为在部分语言中 正则的表示方法需要转义, 这里的\\b就是转义的结果其意思就是单词结束符。中间的部分是表示至少一个字母 无论大小写。
- 2 回答
- 0 关注
- 1280 浏览
添加回答
举报