アプリケーションでは、IPアドレスを含む文字列を取得しますが、これらの文字列には正確な形式はありません。 これらの文字列にはIPアドレスが含まれている可能性があります。私は正規表現を使用して文字列からIPアドレスを抽出する
- "XPSPort"
- "IP_10.29.167.187"
- "10.29.166.193"
になります。ここ
は、文字列がどのように見えることができるものの例です文字列のIPアドレスを抽出するJavaコードを取得するか、文字列にIPアドレスが含まれていない場合は ""を返すようにします。
私はこのコードを試してみましたが、それは動作しません:
String IPADDRESS_PATTERN =
"^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])$";
Pattern pattern = Pattern.compile(IPADDRESS_PATTERN);
Matcher matcher = pattern.matcher(ipString);
if (matcher.find()) {
return matcher.group();
}
else{
return "0.0.0.0";
}
私は正規表現を使用してかなり確信しているので、誰かが私を助けることができることを実現するための最良の方法ですが、私はこれらと非常によくありませんよ良いRegExpを見つける?
ありがとうございます。
可能重複します(http:/ /stackoverflow.com/questions/8439633/regex-ip-address-from-string) – Richard
おかげでリチャード、これは正確に私のc IPは常に完全な言葉ではありませんが、それは私が答えを見つけるのを助けました。 – Padrus