考虑以下文件路径:
\\fileserver\share\documents\department\my_project\a_sub_folder\myfile.doc
我需要使用正则表达式提取文本“\ documents \ department \ my_project”。详细说明:
使用以下正则表达式:
^.*share(?P<folders>\\.+)\\.+
..我在“文件夹”组中得到了这个:
\documents\department\my_project\a_sub_folder
唠叨我的部分是如何摆脱“a_sub_folder”。我尝试将重复操作符添加到文件夹组中,但没有效果:
^.*share(?P<folders>\\.+){1,3}\\.+
^.*share(?P<folders>\\.+){1,3}?\\.+
上述两个中的第一个不会更改输出,而第二个返回空组“文件夹”
我有一种感觉,我的正则表达式从根本上是错误的,但无法理解为什么。任何人都可以对此有所了解吗?
谢谢:)
/盖尔
答案 0 :(得分:1)
怎么样:
^.*share(?P<folders>(?:\\[^\\]+){1,3})