首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在python中的外部文件中执行regex

在python中的外部文件中执行regex
EN

Stack Overflow用户
提问于 2015-03-13 13:18:38
回答 1查看 202关注 0票数 0

我需要从外部文件中加载一些必须执行的正则表达式.

算法不需要知道它们是什么样的正则表达式.但最后它必须打印标签。

代码语言:javascript
运行
复制
    email_re=["EMAIL","([^@|\s]+@[^@]+\.[^@|\s]+)"];
    phone_re=["PHONE","(\d{3}[-\.\s]??\d{3}[-\.\s]??\d{4}|\(\d{3}\)\s*\d{3}[-\.\s]??\d{4}|\d{3}[-\.\s]??\d{4})"];

    regexs=[email_re,
            phone_re]

    for regex in regexs:
        #print regex
        match = re.search(regex[1], prodotto)
        if match:
            print regex[0]+": "+match.group()

创建regexs数组定义外部文本文件中的所有regex的最佳方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-13 13:31:36

使用json作为外部文件,尝试如下:

代码语言:javascript
运行
复制
import json

json_data=open('regex.json')
data = json.load(json_data)

for label, regex in data.items():
    print label
    print regex # process your regex here instead print

json文件:

代码语言:javascript
运行
复制
{
 "email" : "([^@|\\s]+@[^@]+\\.[^@|\\s]+)",
 "phone" : "(\\d{3}[-\\.\\s]??\\d{3}[-\\.\\s]??\\d{4}|\\(\\d{3}\\)\\s*\\d{3}[-\\.\\s]??\\d{4}|\\d{3}[-\\.\\s]??\\d{4})"
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29033262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档