zzwwdd 发表于 2014-8-19 11:08:41

[已解决]能否帮我写个正则只选定所有文件名

本帖最后由 zzwwdd 于 2014-8-20 10:11 编辑

文件夹比较
生成:2014/8/7 17:44:33

模式:左侧较新项和左侧孤立项
左侧基准文件夹:C:\cby\11
右侧基准文件夹:D:\dby\22

左侧孤立文件 (14)
-----------------
12\d3c\1.au3
12\d3c\新建文本文档.txt
12\001_想你.bov
12\002_屋塔房王世子.bov
12\003_绅士的品格.bov
12\004_善良的男人.bov
12\360安全浏览器6.lnk
12\Anki.lnk
12\阿里旺旺2013.lnk
12\暴风影音5.lnk
12\驱动精灵2012.lnk
二次曝光.bov
法网狙击-国.bov
梦回唐朝.bov
-----------------

左侧较新文件 (0)
-----------------

MicroBlue 发表于 2014-8-19 15:21:28

楼主的你的要求好奇葩。

zzwwdd 发表于 2014-8-19 16:18:25

本帖最后由 zzwwdd 于 2014-8-19 16:20 编辑

奇葩什么,不会就算了,知道你不会,afan 大神快快闪亮出现,就靠你了!!! 不要带\只要文件名 ,类似上面3个红色标示的!

desert2500 发表于 2014-8-19 20:09:58

(?<=\\)(?!.*\\).+

lixiaolong 发表于 2014-8-19 20:29:17

本帖最后由 lixiaolong 于 2014-8-19 20:49 编辑

#include <Array.au3>

$Str = _
                '文件夹比较' & @CRLF & _
                '生成:2014/8/7 17:44:33' & @CRLF & _
                '' & @CRLF & _
                '模式:左侧较新项和左侧孤立项' & @CRLF & _
                '左侧基准文件夹:C:\cby\11' & @CRLF & _
                '右侧基准文件夹:D:\dby\22' & @CRLF & _
                '' & @CRLF & _
                '左侧孤立文件 (14)' & @CRLF & _
                '-----------------' & @CRLF & _
                '12\d3c\1.au3' & @CRLF & _
                '12\d3c\新建文本文档.txt' & @CRLF & _
                '12\001_想你.bov' & @CRLF & _
                '12\002_屋塔房王世子.bov' & @CRLF & _
                '12\003_绅士的品格.bov' & @CRLF & _
                '12\004_善良的男人.bov' & @CRLF & _
                '12\360安全浏览器6.lnk' & @CRLF & _
                '12\Anki.lnk' & @CRLF & _
                '12\阿里旺旺2013.lnk' & @CRLF & _
                '12\暴风影音5.lnk' & @CRLF & _
                '12\驱动精灵2012.lnk' & @CRLF & _
                '二次曝光.bov' & @CRLF & _
                '法网狙击-国.bov' & @CRLF & _
                '梦回唐朝.bov' & @CRLF & _
                '-----------------' & @CRLF & _
                '' & @CRLF & _
                '左侧较新文件 (0)' & @CRLF & _
                '----------------- '

Local $Test = StringRegExp($Str, '(?m)(?<=^|\\)([^\\\.]+\..*?)$', 3)

_ArrayDisplay($Test, UBound($Test))

zzwwdd 发表于 2014-8-20 07:38:24

本帖最后由 zzwwdd 于 2014-8-20 07:41 编辑

回复 5# lixiaolong


    太好了成功了,谢谢了,最好解释下这个正则表达式什么意思,否则下次还得麻烦你!!

zzwwdd 发表于 2014-8-20 07:43:47

回复 4# desert2500


    还差一点
结果是这样 的

|11

|22

|1.au3

|新建文本文档.txt

|001_想你.bov

|002_屋塔房王世子.bov

|003_绅士的品格.bov

|004_善良的男人.bove

|360安全浏览器6.lnk

|Anki.lnk

|阿里旺旺2013.lnk

|暴风影音5.lnk

|驱动精灵2012.lnk

zch11230 发表于 2014-8-20 10:36:07

额,我想到的好简单的说[^\\]+\..+

zzwwdd 发表于 2014-8-20 11:10:59

回复 8# zch11230



你也是正确的,谢谢了!!

lixiaolong 发表于 2014-8-20 21:24:47

回复 6# zzwwdd

(?m)(?<=^|\\)([^\\\.]+\..*?)$

(?m) = 行内匹配模式,^和$匹配换行符内的数据。
(?<=^|\\) = 匹配^,或者 \ 后面的位置。
[^\\\.]+ = 匹配 \ 和 . 之外的任何字符。
.*? = 匹配0个或者一个以上的任何单字符。
$ = 匹配字符串的结束位置。

红色部分就是要匹配的。

zzwwdd 发表于 2014-8-21 09:44:44

回复 10# lixiaolong


    虽然,还是看不太懂,不过还是谢谢!

weixin067 发表于 2014-8-26 14:11:02

\w+\..+   试试这个匹配形如文件名.后缀这样的字符串

pingfan5888 发表于 2016-4-14 09:29:02

学习了。。
页: [1]
查看完整版本: [已解决]能否帮我写个正则只选定所有文件名