0

文字列から IP アドレスを検索するスクリプトを作成しました。通常の場合は問題なく動作しますが、特殊な場合に問題が発生します。これが私のコードです。このスクリプトは、次の場合には機能しません。

<?php
if(preg_match("/\b1.1.1.1\b/", "this is test 109.111.1.1"))
{
echo "A match was found.";
}
else
{
echo "A match was not found.";
}
?>
4

2 に答える 2

2

ドットをエスケープする:

if(preg_match("/\b1\.1\.1\.1\b/", "this is test 109.111.1.1"))
于 2012-10-10T07:18:52.950 に答える
1

この正規表現パターンを試してください。

\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b

現在の正規表現の問題は、.任意の文字に一致する可能性があることです。でエスケープして、\on に一致するようにしperiodます。

于 2012-10-10T07:19:03.870 に答える