首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

高手帮小弟我分析一下这个正则表达式

2012-01-18 
高手帮我分析一下这个正则表达式(go\s*){1,} 作用在字符串:Lets go go go! 返回是go go go当把表达式改成

高手帮我分析一下这个正则表达式
(go\s*){1,} 作用在字符串:Let's go go go! 返回是 go go go

当把表达式改成:
(go\s*){0,} 后就没有返回值了,为什么呢?

{0,}的范围比 {1,}大呀不应该无返回呀?

[解决办法]
{1,} 是匹配1-n次,等价于{1,n}。。
{0,} 是匹配0-n次,等价于{0,n}。。
[解决办法]
因为(go\s*){0,}可以匹配空的,所以结果是匹配了字符串的最前面,看一下m.Index就知道了,参考我的博客
http://blog.joycode.com/saucer/archive/2006/10/11/84963.aspx
[解决办法]
{1,} 是匹配1-n次,等价于{1,n}。。 
{0,} 是匹配0-n次,等价于{0,n}。。
------------------------------
是呀我也是这么想的,如果是这样的话 (go\s*){0,} 也应该返回 go go go
可现在返回的是空,让我怎么也想不通呀! 
-------------------------
LZ就是因为{0,} 是匹配0-n次,等价于{0,n}。。 也匹配空....所以就会出现这样的情况
而不是我们以前学数学的那样 !范围变大了 ....
[解决办法]
5楼正解

热点排行