Python正则表达式在某一点之前删除所有内容

时间:2013-05-20 18:37:42

标签: python regex string

假设我有一个字符串:

F:\\Somefolder [2011 - 2012]\somefile

我想使用正则表达式删除之前的所有内容:somefile

所以我得到的字符串是:

somefile

我试着查看正则表达式表,但我似乎无法得到它。 任何帮助都很棒。

5 个答案:

答案 0 :(得分:2)

如果您希望部分位于某个角色的右侧,则不需要正则表达式:

f = r"F:\Somefolder [2011 - 2012]\somefile" 
print f.rsplit("\\", 1)[-1]
#  somefile

答案 1 :(得分:2)

不确定为什么要在这里使用正则表达式...

your_string.rpartition('\\')[-1]

答案 2 :(得分:0)

这个小家伙怎么样?

[^\\]+$

......在行动......

myStr = "F:\Somefolder [2011 - 2012]\somefile"
result = re.match( r'[^\\]+$', myStr, re.M|re.I)
if result:
   print result.group(0)
else:
   print "No match!!"

改编自:http://www.tutorialspoint.com/python/python_reg_expressions.htm

Python RegEx Tester:http://www.regexplanet.com/advanced/python/index.html

答案 3 :(得分:0)

我已经知道你想在一些点词之前删除部分字符串(" somefile"在你的例子中)

>> a = 'F:\\Somefolder [2011 - 2012]\somefile'
>> point = 'somefile'
>> print a[a.index(point):]
somefile

答案 4 :(得分:0)

from typing import Iterable

def remove_all_before(items: list, border: int) -> Iterable:
    return items[items.index(border):] if border in items else items

print(remove_all_before((1,2,3,4,5,6), 3))