Python 使用正则表达式提取文件夹名称

Python 使用正则表达式提取文件夹名称,python,regex,Python,Regex,文件夹(\one\two\three\four)可以命名为任何名称 我所知道的是\KNOWN将始终出现在我正在查看的文件夹中。我想做的是找到一种方法来提取\three的名称。您可以在下面看到我的尝试,但这只提取了\4。谢谢 my_directory = r'e:\\one\\two\\three\\four\\KNOWN\\data' myFolder = re.search(r'([a-zA-Z_]+)\\KNOWN', my_directory).group(1) 使用此正则表达式: ([

文件夹(\one\two\three\four)可以命名为任何名称

我所知道的是\KNOWN将始终出现在我正在查看的文件夹中。我想做的是找到一种方法来提取\three的名称。您可以在下面看到我的尝试,但这只提取了\4。谢谢

my_directory = r'e:\\one\\two\\three\\four\\KNOWN\\data'
myFolder = re.search(r'([a-zA-Z_]+)\\KNOWN', my_directory).group(1)
使用此正则表达式:

([a-zA-Z]+)(?=\\([a-zA-Z_]+)\\KNOWN)


它使用lookaheads来检查\folder\KNOWN。

通过要求组和
KNOWN
之间有一些非
\
字符(
[^\\\]
),这应该可以让您获得
三个

my_directory = r'e:\\one\\two\\three\\four\\KNOWN\\data'
myFolder = re.search(r'([a-zA-Z_]+)\\[^\\]+\\KNOWN', my_directory).group(1)

(不完全确定
[^…]
部分中的
\
是否应该在Python中转义,但我非常确定它应该转义)

请接受适合您的答案来结束这个问题,@superdougy!祝你有一个愉快的一天:-)不客气,请在时间允许的时候接受答复。通过这种方式,我们都可以获得一些分数,这有助于网站:)