python - 如何使用正则表达式从字符串中获取文件名
问题描述
我这里有这个字符串:
"['\r\n File: FLO_JIUWASOKLDM_05_HetR_IUSJA_&_Cracks.mp4', <br/>, '\r\n Size: 48.14 MB ']"
我有这个正则表达式\w+\.\w+
我希望正则表达式获取文件名FLO_JIUWASOKLDM_05_HetR_IUSJA_&_Cracks.mp4
但它在&符号处中断,它返回_Cracks.mp4
我需要做什么来修复它?我对正则表达式非常陌生。
解决方案
无需弄清楚文件名可能包含哪些字符(注意它通常甚至可能包含空格),您可以利用上下文:您知道它从File:
和空格之后开始并一直运行到'
.
因此,您可以使用
m = re.search(r"File:\s*([^']+)", s)
if m:
print(m.group(1))
请参阅在线 Python 演示。
细节
File:
- 文字子串\s*
- 0+ 个空格([^']+)
- 捕获组 1 (match_object.group(1)
):除 . 之外的 1 个或多个字符'
。
推荐阅读
- python - 在 Python 中使用 Pytesseract 检测图像中的文本
- angular - 我的 Angular ngrx/store 效果没有被触发
- javascript - 带有 if 语句和 2-dim 数组 javascript 的嵌套 for 循环
- pandas - 如何绘制熊猫数据框的 2 列,不包括第三列选择的行
- python - plotly scattermapbox - 标记/绘图坐标问题
- ios - 在其他纵向模式应用程序中以横向模式呈现一个视图
- r - 如何在 ggplot2 中绘制自举斜率的向量?
- azure - 路易斯列出实体和同义词
- java - 如何使用 @putmapping 编写 put 方法
- kubernetes - HashiCorp Vault - 无法解组:JSON 输入意外结束