请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于*和?匹配的疑问

图片描述
图片描述图片描述图片描述
为什么只匹配一个字符会出现匹配到空字符串,而匹配两个存在的字符则只会出现一个或两个字符,若匹配不存在的字符则会是none

正在回答 回答被采纳积分+3

5回答

提问者 净虚66 2020-10-30 22:34:18


https://img1.sycdn.imooc.com/szimg/5f9c244b09e149f419200989.jpg

https://img1.sycdn.imooc.com//szimg/5f9c244b09fef3e619161024.jpg

https://img1.sycdn.imooc.com/szimg/5f9c244b091bdb7619201080.jpg


我又测试了一遍,确实是我所说的结果啊

1 回复 有任何疑惑可以回复我~
提问者 净虚66 2020-10-30 09:10:29

我明白了*只针对它的前一个字符(例如p),p之前的字符(例如y)不被*作用,所以找到y就会返回y,找不到就会返回【】。yp*可以=y,因为p*可以看作0次也就是没有。这样理解对吗?

1 回复 有任何疑惑可以回复我~
  • 7七月 #1
    问题是昨天 我试了下 输出的和你给的结果不一样啊
    回复 有任何疑惑可以回复我~ 2020-10-30 19:33:46
7七月 2020-10-30 02:53:59

我测试的输出怎么和你不一样?

1 回复 有任何疑惑可以回复我~
  • 提问者 净虚66 #1
    是因为python3.9的原因吗
    回复 有任何疑惑可以回复我~ 2020-10-30 08:19:04
  • 提问者 净虚66 #2
    我查了一下,是叫零宽断言吗
    回复 有任何疑惑可以回复我~ 2020-10-30 08:22:41
7七月 2020-10-31 20:42:23

https://img1.sycdn.imooc.com//szimg/5f9d5ba209da7e3614380822.jpg

你帖的图不是这些吗?这和测试结果不一样啊

0 回复 有任何疑惑可以回复我~
  • 提问者 净虚66 #1
    结果是右边的preview,不是下面的终端
    回复 有任何疑惑可以回复我~ 2020-11-01 13:45:22
7七月 2020-10-31 00:20:33

https://img1.sycdn.imooc.com/szimg/5f9c3d4109c0277405260070.jpg

https://img1.sycdn.imooc.com//szimg/5f9c3d4809067b6d13040402.jpg

这是我测试的结果

0 回复 有任何疑惑可以回复我~
  • 提问者 净虚66 #1
    对呀,or*相当于r可以出现0次或无限多次,所以or可以,o也可以
    
    。但是r*相当于出现r也可以,不出现也可以(就是'')
    回复 有任何疑惑可以回复我~ 2020-10-31 08:37:38
  • 7七月 回复 提问者 净虚66 #2
    你说的没错。我的意思是 你提问的时候你给的结果和我测试的不一样 我就不知道到底是什么意思?
    回复 有任何疑惑可以回复我~ 2020-11-01 22:42:57
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信