采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师 这个正则表达式中 “(.?)” ?号后面就结束了没有跟任何东西,.? 没有匹配到任何字符。不知道老师在这里加 “(.?)“ 的作用是啥. 并且 我试着把 “(.?)” 还有后面的$2 去掉,发现也是正常的。
. 是任意字符,可以匹配任何单个字符
* 通配符匹配零个或多个字符
? 通配符匹配文件名中的 0 个或 1 个字符
(.*?) 是懒惰匹配尽可能匹配少的字符但是要匹配出所有的字符
拓展:
(.*) 是贪婪匹配代表尽可能多的匹配字符因此它将h和l之间所有的字符都匹配了出来
(.+?) 代表匹配中间字符数量是大于等于1的字符
(.+?)代表匹配中间字符数量是大于等于1的字符
(.??)这个是匹配重复一次和零次的
—— 来自singwa助教
第一个?号我能理解:就是找到第一个s就停止了(代表懒惰模式),但是第二个?号(应该也是代表懒惰模式)后面就没跟东西了,它限制的是 .* (代表除换行符之外任意数量的字符) * 表示0个或者多个 ,这样理解.*?就是匹配0个字符。
登录后可查看更多问答,登录/注册
一课就能掌握TP6.0基础及运用,打造完整高并发的电商后端项目
1.8k 19
1.3k 19
4.5k 16
1.5k 16
1.4k 16