netegg
发表于 2012-2-24 17:47:37
看看那个神码
afan
发表于 2012-5-3 22:07:31
回复 30# binghc
能回复不?
binghc
发表于 2012-5-3 22:23:17
本帖最后由 binghc 于 2012-5-3 22:55 编辑
回复 78# afan
好,可以了{:face (301):}
哥们我今天闲来无事,又拿出这道自认为比较经典的题目研究了下,没想到还能有比5.x ms更快的代码:2.x ms,废话不多说,上图为证
(?m)(?>^[^A\r]*+(?>(?<![□○△])A[^A\r]*+)*?(?<=[□○△])A\V*|^\[([^]]+)](?=\h*?\v++(?>^[^[]\V*+\v++)*?^[^A\r]*+(?>(?<![□○△])A[^A\r]*+)*?(?<=[□○△])A))
afan
发表于 2012-5-3 22:33:13
回复 79# binghc
好像漏了1条“Zh-zA□Am = km0CsszgrCSsDqcbHEMybUBo,RO”
binghc
发表于 2012-5-3 22:36:29
回复 80# afan
没错,我看到了,正在修改……
haijie1223
发表于 2012-5-3 22:38:48
长见识了。。。。 这么长的正则。。。
binghc
发表于 2012-5-3 22:58:43
回复 80# afan
改好了,貌似改了后又长了许多,比原来稍短一点点,也稍微慢了一点点,不过还是比原来快一点点{:face (197):}
afan
发表于 2012-5-3 23:02:24
回复 83# binghc
没错了,慢也只有1ms左右的差别,效率已经极高了~
whitehead
发表于 2012-5-3 23:18:57
做个记号,慢慢学习
ooxxgod
发表于 2012-5-3 23:31:05
这断码还不会弄,学习
ndyzx
发表于 2012-5-5 14:07:56
本帖最后由 ndyzx 于 2012-5-5 14:09 编辑
回复 1# afan
A大麻烦请教一个问题,因为这问题可能对多数人来说很简单,所以不敢发求助贴,我搜了很久,试了很多次都没办法解决:
就是用正则,求字符串(字符串是从复合框中读出的)前三位字符中的数字,如:
1.2ABCD123,得12
12.aggfabdd,得12
133.2agdgage得133
我试过^\d+,在水木子的正则表达式测试工具中通过,但用如下语句无法完成。$1='1.2ABCD123'
$2=StringRegExp ($1,"^\d+",3);
MsgBox(16, "测试",$2)
虽然用StringLen,StringIsDigit,StringMid配循环可以完成要求,但要10多行。我想请教用正则怎么解决,哎太菜了。
afan
发表于 2012-5-5 15:24:47
回复 87# ndyzx Local $Str = '1.2ABCD123'
;MsgBox(0, '原字符串', $Str)
Local $Test = StringRegExpReplace(StringRegExpReplace($str, '^(.{1,3}).*', '$1'), '\D', '')
MsgBox(0, '替换结果', $Test)
ndyzx
发表于 2012-5-5 15:43:45
回复 88# afan
谢谢A大,我好好再去看看,把它消化掉。
kk_lee69
发表于 2012-5-5 15:50:24
學習 看看 ~~老實說連題目都看不大董.....可見自己的程度實在是不夠...........
user3000
发表于 2012-5-5 16:19:26
回复 88# afan
请问:
87 楼说, 水木子的正则表达式测试工具?
应该是您的那个吧?