Что бы регулярное выражение для таких данныхPython регулярное выражение для
/home//Desktop/3A5F.py
path/sth/R67G.py
a/b/c/d/t/6UY7.py
я хотел бы получить эти
3A5F.py
R67G.py
6UY7.py
Что бы регулярное выражение для таких данныхPython регулярное выражение для
/home//Desktop/3A5F.py
path/sth/R67G.py
a/b/c/d/t/6UY7.py
я хотел бы получить эти
3A5F.py
R67G.py
6UY7.py
Похоже, вы разбираете пути, в этом случае вы действительно должны использовать os.path
вместо регулярных выражений:
from os.path import basename
basename('/home//Desktop/3A5F.py')
# 3A5F.py
использование: [^\/]*\.py$
Но это плохой вопрос. Вам нужно показать, что вы попробовали. Вы здесь не для того, чтобы делать свою работу за вас.
* Но это плохой вопрос. * - Тогда зачем отвечать? (в основном, это вопрос для всех, кто отвечает здесь). –
В качестве альтернативы, вы можете получить тот же результат без регулярных выражений:
lines = ['/home//Desktop/3A5F.py', 'path/sth/R67G.py', 'a/b/c/d/t/6UY7.py']
result = [l.split('/')[-1] for l in lines]
print result
# ['3A5F.py', 'R67G.py', '6UY7.py']
Вы можете использовать это.
pattern = ".*/(.*$)"
mystring = "/home//Desktop/3A5F.py"
re.findall(pattern, mystring)
Вы также можете использовать os.path.split(mystring)
Привет, добро пожаловать в StackOverflow. что ты уже испробовал? (подсказка: никаких регулярных выражений не требуется) – msvalkon
'' /home//Desktop/3A5F.py".split ("/") [- 1] ' – msvalkon
Возможно, обман [* Python, извлечение имени файла из пути, нет вопрос о том, какой формат os/path *] (http://stackoverflow.com/questions/8384737/python-extract-file-name-from-path-no-matter-what-the-os-path-format) –