1

假设我有一个字符串:

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

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

所以我得到的字符串是:

somefile

我试图查看正则表达式表,但我似乎无法理解。任何帮助都很棒。

4

5 回答 5

2

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

your_string.rpartition('\\')[-1]
于 2013-05-20T18:45:54.777 回答
2

如果您想要某个字符右侧的部分,则不需要正则表达式:

f = r"F:\Somefolder [2011 - 2012]\somefile" 
print f.rsplit("\\", 1)[-1]
#  somefile
于 2013-05-20T18:42:03.167 回答
0

我已经明白了,就像您想在某个点词之前删除部分字符串(在您的示例中为“somefile”)

>> a = 'F:\\Somefolder [2011 - 2012]\somefile'
>> point = 'somefile'
>> print a[a.index(point):]
somefile
于 2013-05-20T18:43:45.737 回答
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 正则表达式测试器:http ://www.regexplanet.com/advanced/python/index.html

于 2013-05-20T18:41:49.183 回答
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))
于 2021-04-16T06:39:34.780 回答