请教saucer(思归),讲解以下正则表达式的格式和说明吧 不知道楼主学过perl没有,任何一本perl的书都会很清楚的讲解正则表达式的。搞清楚^、&、|等运算子的功能后,仔细对整个表达式进行分解,解析正则表达式最重要是细心、耐心,难度其实不大的。我见过一个石油钻探程序的一部分,其中有个正则表达式,苦啊... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ^(http|https|ftp)\:以这个部分为例:^表示匹配以括号中的内容为起始的字符串,后跟一个冒号,\的意思想必不言自明。括号是要全字匹配这个表达式就匹配http:、https:和ftp:,而不匹配smtp:、view-source:之类,因为是全字匹配,所以也不会匹配htp:、htps、fp:之类。在perl中,括号中的内容也可以单独捕获,即表达式运行之后,(括号中)匹配的字符串会单独保存在一个变量中,不晓得C#有否这个功能? [a-zA-Z0-9\-\.]+[]和()不同的地方就是[]不是全字匹配,所以该句就匹配任意英文字的组合,并包括-和.。而+是一个通配符,表示匹配1次或多次。所以该字符可以匹配yahoo、google等字符了。相信按这个思路下去,整个表达式也就慢慢的现出原形了,所以正则表达式的解析过程一是细心二是细心三还是细心。但有时候也不能过分关注于细节,整体的印象还是要建立。原则就是细心、关注细节、注意整体、层层解析 ^(http|https|ftp)表示字串要以(http|https|ftp)打头,(http|https|ftp)表示三者中的一个连起来就是字串只能以http,https,ftp中的一个打头\: 表示一个冒号,因为:在正则表达式中有其他用途,当要表达冒号的时候,就要转义// 表示两个/ [a-zA-Z0-9\-\.]+ 前面的[a-zA-Z0-9\-\.]表示a-z,A-Z,0-9,-(hyphen)及.(这里也是转义)中的一个.后面的加号表示至少要出现一次前面的东西,比如expert.csdn.或msdn.\. .的转义[a-zA-Z]{2,3} 表示在a-z,A-Z中选择,至少出现2次,之多出现3次(就这个表达式来说,就是要匹配com或cn什么的) c# 压缩文件夹(包含子文件夹) 怎么去除父窗体后面显示的子窗体名啊? 帮忙看下这种邮件 请问在WPF中如何动态改变控件状态? 我接下来该往哪些方面自学? C#动态调用Dll中的一个问题 **在.NET2.0下如何实现web host的功能?详情请进,高分酬谢!** 怎样制作收银系统 WF4.0流程设计器中 自定义的控件能否像FlowSwitch那样有多个输入,输出? 字段 '读者.姓名' 不能是零长度的字符串。怎么解决? 升级 两个简单问题?
^表示匹配以括号中的内容为起始的字符串,后跟一个冒号,\的意思想必不言自明。括号是要全字匹配这个表达式就匹配http:、https:和ftp:,而不匹配smtp:、view-source:之类,因为是全字匹配,所以也不会匹配htp:、htps、fp:之类。在perl中,括号中的内容也可以单独捕获,即表达式运行之后,(括号中)匹配的字符串会单独保存在一个变量中,不晓得C#有否这个功能?
连起来就是字串只能以http,https,ftp中的一个打头
\: 表示一个冒号,因为:在正则表达式中有其他用途,当要表达冒号的时候,就要转义
// 表示两个/
[a-zA-Z0-9\-\.]+ 前面的[a-zA-Z0-9\-\.]表示a-z,A-Z,0-9,-(hyphen)及.(这里也是转义)中的一个.后面的加号表示至少要出现一次前面的东西,比如expert.csdn.或msdn.
\. .的转义
[a-zA-Z]{2,3} 表示在a-z,A-Z中选择,至少出现2次,之多出现3次(就这个表达式来说,就是要匹配com或cn什么的)