【发布时间】:2016-06-27 22:27:46
【问题描述】:
我有一个字符串
/path/to/file?_subject_ID_SOMEOTHERSTRING
路径/到/文件部分的变化取决于情况,subject_ID 总是在那里。我尝试编写一个仅提取 file 部分字符串的正则表达式。使用?subject_ID 是肯定的,但我不知道如何安全地获得file
我当前的正则表达式看起来像 (.*[\/]).*\?_subject_ID
url = '/path/to/file?_subject_ID_SOMEOTHERSTRING'
file_re = re.compile('(.*[\/]).*\?_subject_ID')
file_re.search(url)
这将找到正确的字符串,但我仍然无法提取文件名
打印 _.group(1) 会得到我/path/to/。下一步是什么让我得到实际的文件名?
【问题讨论】:
-
使用您的方法:
r'.*/(.*)\?_subject_ID'并使用group(1)访问 -
呃,你确定示例字符串是准确的吗?
-
@QPaysTaxes 修复了它。它现在应该可以工作了
-
@WiktorStribiżew group(1) 得到我的
/path/to/,我应该使用这个子字符串和?_subject_ID的索引吗?