python提取具有给定正则表达式格式的文件[重复]

Posted

技术标签:

【中文标题】python提取具有给定正则表达式格式的文件[重复]【英文标题】:python extract a file with the given regex format [duplicate] 【发布时间】:2020-07-01 08:07:42 【问题描述】:

我试图提取包含 EOB_FILE 的文件

例如我有类似的东西

s = "path Omega/CC/Pune/SYNTT/EOB_PROCESSED_BY_OCR/EOB_FILE/0A225618045646F2AEEFC23E74CAC253/0A225618045646F2AEEFC23E74CAC253_page1.json"

我怎样才能只得到0A225618045646F2AEEFC23E74CAC253_page1.json的文件名

我试过的代码:

val = re.findall(r'([^.]*EOB_FILE[^.]*)', s)
val
['path Omega/CC/Pune/SYNTT/EOB_PROCESSED_BY_OCR/EOB_FILE/0A225618045646F2AEEFC23E74CAC253/0A225618045646F2AEEFC23E74CAC253_page1']

预期输出:

0A225618045646F2AEEFC23E74CAC253_page1.json

【问题讨论】:

【参考方案1】:

你可以使用pathlib.Path:

from pathlib import Path

Path(s).name

输出:

'0A225618045646F2AEEFC23E74CAC253_page1.json'

检查EOB_FILE 是否在您可以使用的路径中:

'EOB_FILE' in Path(s).parts

或:

'EOB_FILE' in s

if 'EOB_FILE' in s:
    val = Path(s).name

【讨论】:

【参考方案2】:
import os
s = "path Omega/CC/Pune/SYNTT/EOB_PROCESSED_BY_OCR/EOB_FILE/0A225618045646F2AEEFC23E74CAC253/0A225618045646F2AEEFC23E74CAC253_page1.json"

os.path.basename(s)

os 是 python 杂项操作系统接口。查看文档here

【讨论】:

以上是关于python提取具有给定正则表达式格式的文件[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Python正则表达式希腊字符[重复]

使用正则表达式使用python 2.7提取电子邮件接收者[重复]

pandas extractall() 没有提取给定正则表达式的所有案例?

Python编程实现正则表达式验证提取给定字符串中的句首字母应大写的字符?

正则表达式使用 Python 从 HTML 中的 href 属性中提取 URL [重复]

在Python中使用正则表达式解析具有重复模式的字符串?