设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 13447|回复: 3
打印 上一主题 下一主题

正则表达式二求解惑

[复制链接]

1

主题

0

好友

19

积分

新手上路

Rank: 1

跳转到指定楼层
#
发表于 2018-8-1 09:38:09 |只看该作者 |正序浏览
现在学到了正则表达式(2),有一个疑惑,就是匹配符为“.*”的时候,为什么最后会有一个空的引号呢?

TIM截图20180801093722.png (36.71 KB, 下载次数: 449)

TIM截图20180801093722.png

回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

板凳
发表于 2018-8-2 14:24:28 |只看该作者
伤感的小龙虾 发表于 2018-8-1 14:44
可是别的后面也没有个“‘########’,‘1’”或者“‘########’,‘########’,‘2’”这样子啊。
别的都 ...

和数量没关系。空字符不是0(回头看看字符串)
空字符就是str,只不过内容为空。我说“空字符串就是0”,是指空字符符合“0个任意字符”这个匹配规则
'' 就是符合 .* 这个规则,你不想这样那应该用 .+
其他的没有是因为其他的不符合(“1”、“2”不符合你的规则,况且文本里也不一定有1、2),这里不是什么特殊情况,就是严格按照规则来匹配的
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

1

主题

0

好友

19

积分

新手上路

Rank: 1

沙发
发表于 2018-8-1 14:44:22 |只看该作者
crossin先生 发表于 2018-8-1 14:34
* 表示0到多个
空字符串就是0个

可是别的后面也没有个“‘########’,‘1’”或者“‘########’,‘########’,‘2’”这样子啊。
别的都是“‘#####’,‘########’”或“‘#####’,‘########’,‘########’”之类的
而他是“,‘########’,‘’”这样子。
别的都是抓到就显示,抓不抓到也不会放个数字表示抓到的数量,为什么只有“.*”匹配的时候,最后会有一个空字符?而别的匹配不会有?
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

楼主
发表于 2018-8-1 14:34:09 |只看该作者
* 表示0到多个
空字符串就是0个
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-22 20:49 , Processed in 0.017623 second(s), 30 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部