gpt4 book ai didi

php - 正则表达式仅从文本中提取 IPv4 地址

转载 作者:可可西里 更新时间:2023-11-01 00:40:59 25 4
gpt4 key购买 nike

我试图从给定的示例输入中仅提取 IP 地址,但它提取了一些文本。这是我的代码:

$spfreccord="v=spf1 include:amazonses.com include:nl2go.com include:smtproutes.com include:smtpout.com ip4:46.163.100.196 ip4:46.163.100.194 ip4:85.13.135.76 ~all";

$regexIpAddress = '/ip[4|6]:([\.\/0-9a-z\:]*)/';
preg_match($regexIpAddress, $spfreccord, $ip_match);
var_dump($ip_match);

我只想匹配表格每一列中的 IPv4 IP 地址 xxx.xxx.xxx.xxx,但它看起来像 $regexIpAddress是不正确的。

你能帮我找到正确的正则表达式来只提取 IPv4 IP 地址吗?谢谢。

最佳答案

使用以下正则表达式:

/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?:\/\d{2})?/

所以对于这个:

$spfreccord="v=spf1 include:amazonses.com include:nl2go.com include:smtproutes.com include:smtpout.com ip4:46.163.100.196 ip4:46.163.100.194 ip4:85.13.135.76 cidr class v=spf1 ip4:205.201.128.0/20 ip4:198.2.128.0/18 ~all";

$regexIpAddress = '/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?:\/\d{2})?/';
preg_match_all($regexIpAddress, $spfreccord, $ip_match);
var_dump($ip_match);

给予:

array(1) {
[0]=>
array(5) {
[0]=>
string(14) "46.163.100.196"
[1]=>
string(14) "46.163.100.194"
[2]=>
string(12) "85.13.135.76"
[3]=>
string(16) "205.201.128.0/20"
[4]=>
string(14) "198.2.128.0/18"
}
}

关于php - 正则表达式仅从文本中提取 IPv4 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37640920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com