我查看了几个帖子和其他论坛,以找到与我的问题相关的答案,但没有任何具体到我需要的东西。作为一个抬头,我是编程新手,并没有最基本的基础。
我知道bash,小蟒蛇,和RE一样体面。
我正在尝试创建一个python脚本,使用RE来解析数据并给我一个我需要/想要的输出。
我的输出将包含4个值,所有值都来自一行。正在读入的行被抛出,没有定义的分隔符。 (因此我的计划的原因)
为了找到4个值中的一个,我不得不说找123-
并在此之后给我所有内容但是停在这里df5
。 123-
不是常量,而是由正常表达式定义,df5
也是如此。我将两个RE分配给一个变量。如何使用这些变量在两者之间找到我想要的...如果这有意义,请告诉我。
答案 0 :(得分:2)
import re
start = '123-'
stop = 'df5'
regex = re.compile('{0}(.*?){1}'.format(re.escape(start), re.escape(stop)))
请注意,re.escape()
调用对于这些示例字符串不是必需的,但是如果您的分隔符可以包含在正则表达式中具有特殊含义的字符(.
,*
,+
,?
等。)。
答案 1 :(得分:0)
模式"%s(.*?)%s" % (oneTwoThree, dF5)
怎么样?然后,您可以对该模式进行重新搜索,并对结果使用groups函数。
的内容
pattern = "%s(.*?)%s" % (oneTwoThree, dF5)
matches = re.search(pattern, text)
if matches:
print matches.groups()
re.findall,如果使用而不是re.search,可以省去分组匹配的麻烦。