本帖最后由 qq362817567 于 2012-12-23 01:58 编辑
#include <array.au3>
Local $Str = _
'xzw307' & @CRLF & _
'qq315908576' & @CRLF & _
'123982755' & @CRLF & _
'xzw307' & @CRLF & _
'xzwxdsdfsdf' & @CRLF & _
'123--2755' & @CRLF & _
'12334982----' & @CRLF & _
'12398275' & @CRLF & _
'12345666ty3'& @CRLF & _
'1111111111111111'& @CRLF & _
'wwwwwwwwwwwwwwwwwww'& @CRLF & _
'222222222222222'
$txt=StringRegExpReplace($str,'(?i)(?<=^|\n)\V{0,7}(?=\v|$)',"")
$txt=StringRegExp($txt,'(?i)(?<=^|\n)(?:\d+[a-z]|[a-z]+\d)\w*(?=\v|$)',3)
_ArrayDisplay($txt)
先把低于8位的行删除,就方便一些了,不知道你的要求包不包含8位的,如果不包含,需要把第一个表达式中的7换成8.因为没看到你完整源码,不知道源字符串除了数字和字母以及”-”外还有哪些,就你提供的我又加了一些测试可行,速度可观,可根据情况小改。 |