PHPで使用preg_split
して、次の文字列を分割し、2つのIPアドレスを返そうとしています。
$membersStr = "members { 167.69.27.151:4449 {} 167.69.27.153:4449 {} 167.69.27.154:4449 { session user disabled } 167.67.27.156:4449 }";
私のコードは次のとおりです。
$nodesArray = preg_split("/\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/", $membersStr, -1, PREG_SPLIT_NO_EMPTY);
次に、今のところそれを印刷するだけです。
print_r($nodesArray);
ただし、これは空の配列です。オンラインチェッカーから正規表現を再確認すると、IPが返されます。
試してみる:
preg_match_all('/\d+\.\d+\.\d+\.\d+/', $membersStr, $nodesArray);
echo $nodesArray[0];
プリント:
Array
私のブラウザで。