http://www.regexlab.com/zh/regref.htm,1.6中的例6不理解。
举例6:表达式 "(go\s*)+" 在匹配 "Let's go go go!" 时,匹配结果是:成功;匹配到内容是:"go go go";匹配到的位置是:开始于6,结束于14。
请问:
$&: go go go $1: go
谢谢!
还是那句话,说的不一定对:
1、先说一上"go\s*+",这种表达式应该称为占有模式的匹配,对占有模式不熟,在VBSCRIPT中运用应该较少,据说一般运用在java中,这个表达式的意思是: 一个单词(go)后面跟一个或零个空格,+的意思是这个空格要尽可能多的匹配(但仅限空格),与go无关
2、“(go\s*)+",这个典型的正则表达式的贪婪匹配,有这里面有一个子表达式<go\s>, 表示一个单词<go>和一个或零个空格,并将这个单词和空格最为一个整体,后面的+表示这个整体要尽可能多的匹配,在这里和单词go是相关的。
第二问我好像有你的不知道例几里有作过不是很准确和很详尽的解释
使用道具 举报
豆丁来了,太好了,昨天在这,今天还是 ⊙﹏⊙b,对于例6:
这是不是需要之后的知识,才好理解?现在说,我能明白么?
你意思是,第2种表达式比第3种表达式,还难?
为什么是“一个或零个”,这是根据什么得出的呢?
第2种表达式比第3种表达式我不敢说,如果在前几天写这样的表达式我会认为后面的+是多余的
"*"就零个和多个,前面说的有误,应该是多个或零个
第3种把括号中的内容(go和零个或任意个空白字符)当作一个整体(我想象为某一个字符)。
只要以?来修饰重复次数时,就是非贪婪模式;否则,都是贪婪模式。对吗?
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )
GMT+8, 2024-5-18 06:49 , Processed in 0.277599 second(s), 8 queries , Gzip On, Yac On.
Powered by Discuz! X3.4
Copyright © 2001-2020, Tencent Cloud.