CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

初学正则表达式,请大家讲解一个入门的例子

楼主vinge(大志)2005-02-25 14:31:52 在 .NET技术 / C# 提问

Match   m   =   Regex.Match("abracadabra",   "(a|b|r)+");    
  label1.Text   =   m.ToString();//结果是abra  
  请问该表达式表示匹配的意思是什么?  
  现在只是知道各个符号的意思,连成一句就不懂了。  
  请大家指教 问题点数:20、回复次数:10Top

1 楼fellowcheng(鹰击长空)回复于 2005-02-25 14:37:17 得分 0

'|'或者,'+'一个至多个Top

2 楼yizhixiaozhu(天啦,手都起茧了)回复于 2005-02-25 14:38:38 得分 0

okTop

3 楼vinge(大志)回复于 2005-02-25 14:40:24 得分 0

明白'|'或者,'+'一个至多个  
  整个表达式表示什么意思啊??  
  改成"(a|b|r|d)+",结果还是abraTop

4 楼vinge(大志)回复于 2005-02-25 14:59:24 得分 0

如果是  
  Match   m   =   Regex.Match("abracadabra",   "(a|b|d)+");  
  结果是什么呢?Top

5 楼minajo21(大眼睛)回复于 2005-02-25 15:04:28 得分 2

http://www.regexlib.com/Top

6 楼lonelydreamsym(惊梦)回复于 2005-02-25 15:05:56 得分 0

自己试不一下不就知道了Top

7 楼vinge(大志)回复于 2005-02-25 15:09:31 得分 0

我是想问一问,如果人家给我出了这么一道题,我应该怎么分析出答案?Top

8 楼yellowhwb(天の羽)回复于 2005-02-25 15:12:13 得分 18

Match   m   =   Regex.Match("abracadabra",   "(a|b|d)+");  
  是ab  
  也就是找到串“abracadabra”里,最长的一个符合(a|b|d)+的子串。  
  (a|b|d)+的意思是:  
  串str=xyz.....  
  从x开始,只要x是a或b或d,就再往下检查一位,如果y也是a或b或d,就如此继续,直到不符合为止,所得的串就是最大匹配的串!Top

9 楼vinge(大志)回复于 2005-02-25 15:14:09 得分 0

谢谢yellowhwb(雨花石)   ,这么说我明白多了,  
  谢谢Top

10 楼supergoalcn(Supergoal)回复于 2005-02-25 21:46:07 得分 0

(a|b|r)+表示由这三个字母构成的串都可以匹配的。  
  yellowhwb(雨花石)的匹配方式解释正确,但最后一句话有问题,“所得的串就是最大匹配的串!”,这句话不正确,而应该是返回的是第一个匹配的字符串。  
  如果将Match   m   =   Regex.Match("abracadabra",   "(a|b|r)+");   改成  
  Match   m   =   Regex.Match("abracadabraa",   "(a|b|r)+");    
  返回的仍是abra,而不是最长的abraa。Top

相关问题

  • 初学正则表达式
  • 初学正则表达式
  • 初学者的正则表达式问题!
  • 正则表达式的入门文档,关注者有分
  • 正则表达式的入门文档,关注者有分
  • 正则表达式的入门文档,关注者有分
  • 正则表达式的入门文档,关注者有分
  • 正则表达式的入门文档,关注者有分
  • 正则表达式的入门文档,关注者有分
  • 初学者关于正则表达式的问题,立即结分!

关键词

  • abracadabra
  • abra
  • 匹配
  • match
  • regex
  • 意思
  • 表示
  • 就是

得分解答快速导航

  • 帖主:vinge
  • minajo21
  • yellowhwb

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo