Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 在正则表达式中匹配已知主机警告_Regex_Perl - Fatal编程技术网

Regex 在正则表达式中匹配已知主机警告

Regex 在正则表达式中匹配已知主机警告,regex,perl,Regex,Perl,在IP地址可以更改的情况下,如何匹配以下内容: Warning: Permanently added '100.124.61.161' (RSA) to the list of known hosts. 提前谢谢 您可以尝试以下代码,更改字符串以仅限制特定文本 if($string =~ m/Warning: Permanently added '(.*?)' \(RSA\) to the list of known hosts\./) { print "Match Successful

在IP地址可以更改的情况下,如何匹配以下内容:

Warning: Permanently added '100.124.61.161' (RSA) to the list of known hosts.

提前谢谢

您可以尝试以下代码,更改字符串以仅限制特定文本

if($string =~ m/Warning: Permanently added '(.*?)' \(RSA\) to the list of known hosts\./)
{
   print "Match Successful, IP address: $1\n";
}
else
{
   print "String did not match\n";
}

您可以尝试以下代码,更改字符串以仅限制特定文本

if($string =~ m/Warning: Permanently added '(.*?)' \(RSA\) to the list of known hosts\./)
{
   print "Match Successful, IP address: $1\n";
}
else
{
   print "String did not match\n";
}

ipv4(无端口)的通用正则表达式为

解释

 (?<! \d )
 (?:
      \d                      # 0 - 9
   |  [1-9] \d                # 10 - 99
   |  1 \d{2}                 # 100 - 199
   |  2 [0-4] \d              # 200 - 249
   |  25 [0-5]                # 250 - 255
 )
 (?:
      \.
      (?:
           \d 
        |  [1-9] \d 
        |  1 \d{2} 
        |  2 [0-4] \d 
        |  25 [0-5] 
      )
 ){3}
 (?! \d )

(?ipv4(无端口)的通用正则表达式为

解释

 (?<! \d )
 (?:
      \d                      # 0 - 9
   |  [1-9] \d                # 10 - 99
   |  1 \d{2}                 # 100 - 199
   |  2 [0-4] \d              # 200 - 249
   |  25 [0-5]                # 250 - 255
 )
 (?:
      \.
      (?:
           \d 
        |  [1-9] \d 
        |  1 \d{2} 
        |  2 [0-4] \d 
        |  25 [0-5] 
      )
 ){3}
 (?! \d )

(?使用/d匹配数字。使用/d+匹配1个或多个。将
100.124.61.161
与IP的有效正则表达式交换。@stevesliva我相信你的意思是
\d
\d+
;)使用/d匹配数字。使用/d+匹配1个或多个。使用IP的有效正则表达式交换
100.124.61.161
。@stevesliva我相信您的意思是
\d
\d+
;)如果只能有一个IP地址,这很好。OP甚至似乎不关心捕获IP。您不需要转义冒号
,它在正则表达式中没有特殊意义。如果只能有一个IP地址,这很好。OP甚至似乎不关心捕获IP。您不需要转义冒号在
中,它在正则表达式中没有特殊意义。我不确定您是否需要担心与256.256.256不匹配。256@stevesliva-是吗?即使世界上除了数字和点什么都没有?“在IP地址可以更改的地方,我如何匹配以下内容。”这个复杂的正则表达式很好,解释也很好——如果你担心输入不是IP。但它实际上似乎没有完全回答这个问题。@stevesliva-那么你对完全的定义是什么?如果你认为IP正则表达式问题还有其他答案,我可以将它标记为重复。我不确定你是否需要担心t与256.256.256不匹配。256@stevesliva-是吗?即使世界上除了数字和点什么都没有?“在IP地址可以更改的地方,我如何匹配以下内容。”这个复杂的正则表达式很好,解释也很好——如果你担心输入不是IP。但它实际上似乎没有完全回答这个问题。@stevesliva-那么你对完全的定义是什么?如果你认为IP正则表达式问题还有其他答案,我可以将它标记为重复。