Python windows路径正则表达式

2024-05-19 12:04:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经花了两个小时弄清楚了。我有一根绳子:

C:\\Users\\Bob\\.luxshop\\jeans\\diesel-qd\\images\\Livier_11.png 

我有兴趣得到\\Livier_11.png,但对我来说似乎不可能。我该怎么做?在


Tags: pngusers兴趣bobimages小时绳子diesel
3条回答

您可以使用这个

^.*(\\\\.*)$

Explanation

  • ^-锚定到字符串的开头。在
  • .*-匹配除新行零或时间(贪婪方法)之外的任何内容。在
  • (\\\\.*)-捕获组。匹配\\跟在除换行符之外的任何地方0或更多时间。在
  • $-锚定到字符串的末尾。在

Demo

p.S-对于这种情况,您应该使用可用的标准库,而不是regex。在

如果您可以清楚地说“\\”是一个分隔符(除了分隔字符串外,不会出现在任何字符串中),那么您可以说:

str = "C:\\Users\\Bob\\.luxshop\\jeans\\diesel-qd\\images\\Livier_11.png"
spl = str.split(“\\”) #split the string
your_wanted_string = spl[-1]

请注意,这是一个非常简单的方法,并不总是最好的方法!如果您需要经常这样做,或者如果某些重要的事情依赖于它,请使用库! 如果你只是在学习编码,那么这就更容易理解了。在

我强烈建议使用pythonpathlib模块。它是标准库的一部分,用于处理文件路径。一些例子:

>>> from pathlib import Path
>>> p = Path(r"C:\Users\Bob\.luxshop\jeans\diesel-qd\images\Livier_11.png")
>>> p
WindowsPath('C:/Users/Bob/.luxshop/jeans/diesel-qd/images/Livier_11.png')
>>> p.name
'Livier_11.png'
>>> p.parts
('C:\\', 'Users', 'Bob', '.luxshop', 'jeans', 'diesel-qd', 'images', 'Livier_11.png')
>>> # construct a path from parts
...
>>> Path("C:\some_folder", "subfolder", "file.txt")
WindowsPath('C:/some_folder/subfolder/file.txt')
>>> p.exists()
False
>>> p.is_file()
False
>>>

编辑:

如果您想使用regex,这应该是有效的:

^{pr2}$

相关问题 更多 >

    热门问题