我有一个名为 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”,然后需要正则表达式匹配后面的任何字符串,然后需要匹配最后一个单词作为我的 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:
最佳答案
您可以使用。*
表示除\n 之外的任何字符(0 次或多次)
或
.+
表示除\n(1次或多次)以外的任何字符
例子:
if re.match("probe .*"+prob_name, line):
# do something
确保 prob_name
没有任何特殊的正则表达式字符,例如 。
*
(
etc
关于python - 正则表达式匹配字符串后跟任何单词后跟字符串变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22576075/