正则表达式匹配字符串后跟任何单词后跟字符串变量

时间:2014-03-22 09:58:39

标签: python regex python-2.7

我有一个名为probe_name的预定义变量,它是字符串中的第3个字。在下面的示例中,它可以是name1,name2和name3

list1 = [ 
probe url name1 
probe http name1 
probe tcp name2 
probe http name3 
abc 123 xyz1 
www 123 xyz2 ]

我如何匹配上面列表中与probe_name值匹配的行?

我想首先匹配"探测"然后需要正则表达式匹配任何字符串,然后需要匹配最后一个单词作为我的probe_value。

前:

probe_name = [name1] 
for line in list1: 
if ("probe " "regex to match any second word " + probe_name) in line:   

我可以使用什么正则表达式来匹配任何字符串作为第二个单词?

我认为这会有效,但它没有:

if ("probe .* $" + probe_name) in line:  

1 个答案:

答案 0 :(得分:4)

您可以使用.*表示any character except \n (0 or more times)

.+表示any character except \n (1 or more times)

示例:

if re.match("probe .*"+prob_name, line):
   # do something

确保prob_name没有任何特殊的正则表达式字符,例如. * (