正则表达式匹配两个常量字符串之间的文本

时间:2013-02-18 11:46:03

标签: python regex python-2.7

我有一个这样的字符串:

Copied file D:\TROLOLO~2\MBF~2\PC\..\..\content\Application Folder\Blabla\FooFoo\bar.bar

我想匹配

"D:\TROLOLO~2\MBF~2\PC\..\..\content\Application Folder"

两个字符串“复制文件”和“应用程序文件夹”都是已知且不变的。

我该怎么做?还请解释您使用的规则!

3 个答案:

答案 0 :(得分:4)

试试这个:

^Copied file (.+?Application Folder)

您想要的结果是在第1组

^                   : begining of string
Copied file         : litteral
(                   : start grouping
.+?                 : Any char one or more times non greedy
Application Folder  : litteral
)                   : end grouping

答案 1 :(得分:2)

怎么样:

 re.findall('(?<=Copied file ).*?Application Folder',s)

答案 2 :(得分:1)

另一种不使用正则表达式的方法:

>>> text[12:text.index('Application Folder') + len('Application Folder')]
'D:\\TROLOLO~2\\MBF~2\\PC\\..\\..\\content\\Application Folder'