正则匹配绝对路径的最后一层文件名
时间: 2023-08-10 21:36:51 浏览: 138
可以使用正则表达式来匹配绝对路径的最后一层文件名。具体实现如下:
```python
import re
path = '/dir1/dir2/filename.txt'
pattern = r'\/([^\/]+)$' # 匹配最后一层文件名
match = re.search(pattern, path)
if match:
filename = match.group(1)
print(filename)
```
其中,`r'\/([^\/]+)$'` 是匹配最后一层文件名的正则表达式。它匹配以 `/` 开头,后面跟着一个或多个不包含 `/` 的字符,直到字符串的结尾。`[^\/]` 表示不是 `/` 的任意字符,`+` 表示匹配一个或多个。`$` 表示字符串的结尾。
使用 `re.search()` 函数来在字符串中搜索匹配正则表达式的第一个位置。如果找到匹配项,则使用 `match.group(1)` 来获取第一个捕获组,即最后一层文件名。最后输出结果即可。
相关问题
python 用正则将文件路径最后的文件名换为空
可以使用 Python 的 re 模块中的 sub 方法来实现将文件路径最后的文件名换为空。具体的实现如下:
```python
import re
file_path = "/path/to/file.txt"
new_file_path = re.sub(r'/[^/]+$', '/', file_path)
print(new_file_path)
```
这样就可以将文件路径最后的文件名换为空了。其中,正则表达式 `/[^/]+$` 匹配了最后一个斜杠后面的所有字符,使用空字符串进行替换即可。
用正则表达式匹配字符串中的文件名
可以使用正则表达式来匹配字符串中的文件名,例如:
```
import re
string = "这是一个文件名:example.txt"
pattern = r"\w+\.txt"
match = re.search(pattern, string)
if match:
print(match.group())
else:
print("未找到文件名")
```
这个正则表达式会匹配以字母、数字或下划线组成的文件名,后缀为txt的文件名。如果找到了匹配的文件名,就会输出文件名。如果没有找到,就会输出"未找到文件名"。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)