我试图从脚本文件中的评论中提取信息。在将文件作为输入后,我想运行一个搜索,它将以以下形式提取信息:
"版本:#。#"
"创建日期:## / ## / ####"
等
我的一个问题是版本号和日期不一定是那种格式。有时,它们可能看起来像:
"版本#"
"创建日期:## / ####"
评论通常充满了大量的#"' s'那么到目前为止我的正则表达式是: [\ s \ S] *(版本:?\ s \ d。?\ d |创建日期:?\ d + / \ d + / \ d {2,4}?)
我试图让它更强大以便处理不同的场景(比如我上面写的那个)和我要解决的主要问题:它是只拉日期或版本,我知道这是由于管道(|),因为我不太了解正则表达式,我不知道如何抓住这两条信息
感谢您的帮助!
答案 0 :(得分:1)
你可以使用这个正则表达式,
Version:?\s*\S*|Date Created:?\s*\S*
答案 1 :(得分:1)
^regex$
,以便找到有问题的完整行。这使得你的正则表达式通常更快,但肯定更具体。示例:
import re
txt='''\
# Version: #.#"
# Date Created: ##/##/####"
etc.
One of my problems is that the version numbers and dates wont always be in that format. Sometimes, they may look like:
# Version #"
# Date Created: ##/####'''
print 'versions found:', re.findall(r'^\s*#+\s*Version:?\s*(.*)$', txt, re.M)
print 'dates found:', re.findall(r'^\s*#+\s* Date Created:?\s*(.*)$', txt, re.M)
打印:
versions found: ['#.#"', '#"']
dates found: ['##/##/####"', '##/####']