abcd1258
发表于 2010-11-4 22:29:44
进来学习一下.
masterpcc
发表于 2010-11-4 22:47:58
学习中!谢谢分享!
afan
发表于 2010-11-4 23:11:50
Duvet 转的这篇很有趣,建议大家看看,相信会增加不少学习兴趣
http://iregex.org/blog/to-understand-regular-expressions.html
例如用正则式/perl|perlman/来匹配文本 ‘perlman book’。如果是NFA,则以正则式为导向,手里捏着正则式,眼睛看着文本,一个字符一个字符的吃,吃完 ‘perl’ 以后,跟第一个子正则式/perl/已经匹配上了,于是记录在案,往下再看,吃进一个 ‘m’,这下糟了,跟子式/perl/不匹配了,于是把m吐出来,向上汇报说成功匹配 ‘perl’,不再关心其他,也不尝试后面那个子正则式/perlman/,自然也就看不到那个更好的答案了。
如果是DFA,它是以文本为导向,手里捏着文本,眼睛看着正则式,一口一口的吃。吃到/p/,就在手里的 ‘p’ 上打一个钩,记上一笔,说这个字符已经匹配上了,然后往下吃。当看到 /perl/ 之后,DFA不会停,会尝试再吃一口。这时候,第一个子正则式已经山穷水尽了,没得吃了,于是就甩掉它,去吃第二个子正则式的/m/。这一吃好了,因为又匹配上了,于是接着往下吃。直到把正则式吃完,心满意足往上报告说成功匹配了 ‘perlman’。
tianya1631
发表于 2010-11-5 00:20:44
太强大了,Afan应该经常出些难题,让隐身的高手们都出来露露手。。
蜘蛛抱蛋
发表于 2010-11-5 09:25:57
我来学习一下头疼
binghc
发表于 2010-11-5 16:57:34
本帖最后由 binghc 于 2010-11-5 17:07 编辑
传说中的无敌!
括号嵌套最高可达5层(一般再高也碰不到了,如果非要加也可以实现)
支持字符串和数值型赋值混合模式,支持Afan说的容错
**** Hidden Message *****
注意第一条表达式和第二条表达式的区别
afan
发表于 2010-11-5 21:10:37
传说中的无敌!
括号嵌套最高可达5层(一般再高也碰不到了,如果非要加也可以实现)
支持字符串和数值型 ...
binghc 发表于 2010-11-5 16:57 http://www.autoitx.com/images/common/back.gif
就凭你这执着劲就已经无敌了,O(∩_∩)O~
破帽遮颜
发表于 2010-11-6 00:04:22
可惜不会正则
akmm88
发表于 2010-11-7 11:54:08
看看真麻烦.
wzh880801
发表于 2010-11-7 13:14:20
这个是我以前写一个东西的时候要得到一个完整路径的最后的名字的代码:
思路就是得到最后一个'\'的位置,然后通过StringRight()函数得到,不是用的正则,这个问题用这种方法应该也可以吧。
Global $str = 'c:\abc\abcd\abcde\cdefg'
Global $len = StringLen($str)
$last = StringInStr($str,'\',0,Sort())
$strnew = StringRight($str,($len - $last))
MsgBox(0,'最后的字符窜',$strnew)
Func Sort()
For $i = 1 To $lenStep 1
$num = StringInStr($str,'\',0,$i)
If $num = 0 Then ExitLoop
Next
Return ($i - 1)
EndFunc
正则方法大侠们的都很厉害了,我刚学正则不久就不献丑了。
afan
发表于 2010-11-7 13:42:32
本帖最后由 afan 于 2010-11-7 13:43 编辑
回复 55# wzh880801
此题除了用正则,几乎没别的方法~
看上去好像是和提取某层路径相似,其实却是完全不同的。此题出现的“;”可能全都是注释内容,也可能全都是字符串,也可能有些是注释有些是字符串。
wzh880801
发表于 2010-11-7 13:56:09
回复 56# afan
嗯嗯 就是 经大侠一提醒我也意识到了 如果没有注释而‘;’出现在代码中那就不能用Sring类函数实现了~~~
正则很强大,认真学习中~~~
爱问求学
发表于 2010-11-7 14:21:33
过来学习一下。。看看
jsdn2000
发表于 2010-11-7 19:16:16
的确是挺强悍的,值得我学习。
njuFerret
发表于 2010-11-8 13:58:55
没怎么看懂题目的意思....