python 2.2在linebreak之后找到字符串

时间:2013-11-07 18:34:28

标签: python regex search python-2.x

我有2个字符串,其中包含以下内容:

name = 'Kalvo'
info = 'PC1:\nKalvo (Read)(Write)\nKL27 (Read)(Write)'

现在我想要达到的目的是在信息中搜索名称中找到的单词,并在名称后打印出所有内容。

让我说我正在搜索字符串名称的字符串信息,它应该打印出来:

Kalvo (Read)(Write)

这里的问题是我使用的python版本是一个旧的2.2版本。使用较新版本的python,可以完成工作:

>>> from re import findall
>>> name = 'Kalvo'
>>> info = 'PC1:\nKalvo (Read)(Write)\nKL27 (Read)(Write)'
>>> findall("{}.*".format(name), info)[0]
'Kalvo (Read)(Write)'

但是这对旧版本的python不起作用,如何用旧版本的python实现相同的输出?

1 个答案:

答案 0 :(得分:0)

您可以改为使用% string formatting

findall("%s.*" % name, info)[0]

甚至只是连接:

findall(name + ".*", info)[0]

re模块本身为already present in 2.2

请注意,您可能希望在字符串上使用re.escape()以确保转义任何元字符:

findall("%s.*" % re.escape(name), info)[0]