Regex 在正则表达式中匹配已知主机警告
在IP地址可以更改的情况下,如何匹配以下内容: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
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正则表达式问题还有其他答案,我可以将它标记为重复。