【发布时间】:2013-09-17 21:34:02
【问题描述】:
我正在使用重命名应用程序 (Filebot) 来整理我的媒体文件并使媒体中心/xbmc/plex 正常工作。
使用正则表达式匹配文件名中的“XXX”模式的最佳和最可靠的方法是:
aaa.bbb.*.fff-XXX.ext
aaa.bbb.*.fff-XXX.ext1.ext2
我设法解决了其他问题,但这对我来说似乎是一个无法克服的问题。 (还在学习中。)
【问题讨论】:
我正在使用重命名应用程序 (Filebot) 来整理我的媒体文件并使媒体中心/xbmc/plex 正常工作。
使用正则表达式匹配文件名中的“XXX”模式的最佳和最可靠的方法是:
aaa.bbb.*.fff-XXX.ext
aaa.bbb.*.fff-XXX.ext1.ext2
我设法解决了其他问题,但这对我来说似乎是一个无法克服的问题。 (还在学习中。)
【问题讨论】:
正则表达式:
-([^-.]+)
将XXX 放入捕获组 1。
【讨论】:
\. 不是必需的,我已将其删除。捕获组只匹配任何非点序列,因此它将停止在点或字符串的末尾。
这样的事情应该可以工作:
-(.*?)\.
这将匹配一个连字符,后跟零个或多个任意字符,非贪婪,在组 1 中捕获,然后是句点。
另一种选择是使用环视断言,如下所示:
(?<=-).*?(?=\.)
这将匹配相同类型的文本,除了整个匹配将由- 和. 之间的子字符串组成,而不是在一个组中捕获它。
【讨论】: