【已解决】一个正则求助。。。。烧脑。。谢谢Afan
本帖最后由 862228699 于 2018-4-27 12:42 编辑C:\新建文件夹\222222\sdfdf.exe
E:\sdfsdfdf\新建文件夹\222sd2\sd22df.exe
C:\Users\Administrator\Desktop\新建文件夹\360\11111.exe
C:\Users\Administrator\Desktop\新建文件夹\2345\er34.exe
C:\Users\Administrator\Desktop\新建文件夹\34567\dfdfg.bat
C:\Users\Administrator\Desktop\新建文件夹2\3600\1111441.exe
C:\Users\Administrator\Desktop\新建文件夹2\23450\er3334.exe
C:\Users\Administrator\Desktop\新建文件夹2\345670\dfd22fg.bat
C:\Users\Administrator\Desktop\新建文件夹3\3600\1111441.exe
C:\Users\Administrator\Desktop\新建文件夹3\23450\er3334.exe
C:\Users\Administrator\Desktop\新建文件夹3\345670\dfd22fg.bat
C:\Users\Administrator\Desktop\D3432323\新建文件夹3\345670\dfd22fg.bat
C:\Users\Administrator\Desktop\D3432323\DSFLKSJDF\新建文件夹3\345670\dfd22fg.bat我想匹配文件的倒数第二层目录路径。
意思从开始到“新建文件夹” 那层目录。而这个新建文件夹这个名字也是随机的。不确定的名字。 #include <Array.au3>
Local $sSource = _
'C:\新建文件夹\222222\sdfdf.exe' & @CRLF & _
'E:\sdfsdfdf\新建文件夹\222sd2\sd22df.exe' & @CRLF & @CRLF & _
'C:\Users\Administrator\Desktop\新建文件夹\360\11111.exe' & @CRLF & _
'C:\Users\Administrator\Desktop\新建文件夹\2345\er34.exe' & @CRLF & _
'C:\Users\Administrator\Desktop\新建文件夹\34567\dfdfg.bat' & @CRLF & @CRLF & _
'C:\Users\Administrator\Desktop\新建文件夹2\3600\1111441.exe' & @CRLF & _
'C:\Users\Administrator\Desktop\新建文件夹2\23450\er3334.exe' & @CRLF & _
'C:\Users\Administrator\Desktop\新建文件夹2\345670\dfd22fg.bat' & @CRLF & @CRLF & _
'C:\Users\Administrator\Desktop\新建文件夹3\3600\1111441.exe' & @CRLF & _
'C:\Users\Administrator\Desktop\新建文件夹3\23450\er3334.exe' & @CRLF & _
'C:\Users\Administrator\Desktop\新建文件夹3\345670\dfd22fg.bat' & @CRLF & @CRLF & _
'C:\Users\Administrator\Desktop\D3432323\新建文件夹3\345670\dfd22fg.bat' & @CRLF & @CRLF & _
'C:\Users\Administrator\Desktop\D3432323\DSFLKSJDF\新建文件夹3\345670\dfd22fg.bat'
;~MsgBox(0, '源字符串', $sSource)
Local $aSRE = StringRegExp($sSource, '(?mi)^\w:\V+(?=\\.+?\\[^\\]+$)', 3)
If Not @Error Then MsgBox(0, '匹配数量: ' & UBound($aSRE), '其中元素为: ' & $aSRE)
_ArrayDisplay($aSRE, UBound($aSRE))
A大正则出神入化
{:face (197):} 本帖最后由 xzf680 于 2018-4-2 10:40 编辑
回复 2# afan
刚测试少复制了个 ) 没问题,厉害! 回复afan
刚测试少复制了个 ) 没问题,厉害!
xzf680 发表于 2018-4-2 10:37 http://www.autoit3.cn/images/common/back.gif
复制代码有时候是会出现掉符号的问题… 学习了,原来(?m)(?i)还可以组合用的 如果只是处理一个目录这个简单点
Local $sSource = 'C:\Users\Administrator\Desktop\新建文件夹\360\11111.exe'
$aSRE = StringLeft($sSource, StringInStr($sSource, "\", 0, -2) - 1)
MsgBox(0, "", $aSRE) 回复 2# afan
感谢Afan正则之神,今天才看到。结贴吧。。。谢谢
页:
[1]