在正则表达式中使用变量 - Python

时间:2012-04-24 07:19:44

标签: python regex variables

我正在尝试使用正则表达式搜索此文本文档,但我还需要在正则表达式中输入用户,我不确定如何执行此操作并且对python编程很新,并且将非常感谢任何帮助!

import re

str1=raw_input("Room Number(L1 - L5): ")
text=open('roombookings.txt', 'r')

while 1:
    line = text.readline()
    if line:
        re.search(?????)
    else:
        break

text.close()

2 个答案:

答案 0 :(得分:3)

  1. 要迭代文件中的行,请执行

    for line in text:
    

    您不需要任何while 1内容。

  2. 要将变量的内容“拼接”成字符串,请执行

    "Your name is {name}.".format(name="John")
    

    请参阅the docs

  3. 要打开和关闭文件,请执行以下操作:

    with open(...) as f:
    

    而不是手动编写f.close() - 这也处理异常。另请注意,如果您没有显式关闭文件,它将在删除对象时关闭,这在没有更多引用的情况下会发生。

答案 1 :(得分:0)

如果您的意思是用户输入一个纯字符串(本身不是正则表达式),您想要插入正则表达式,请使用re.escape对字符串进行编码。