1

テキストジャンクのリストから、正規表現を使用しています。以下は、プロキシパターンを解析するためにその仕事をします
(\d{1,3}\.){3}\d{1,3}:\d{2,5}。しかし、このパターンは次のようにテキストを解析します。

692.248.222.879:43780
692.83.47.579:43780

これは不可能なIPアドレスです。正規表現を使用してこの種の範囲をスキップする方法を知りたいですか?

私が好むツール:JavaまたはC#、notepad++。ただし、どの言語でもかまいません。

4

3 に答える 3

3

これを試して:

\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b:\d{2,5}

'

692.248.222.879:43780 
692.83.47.579:43780
192.168.1.1:27052

最後のものだけで動作します

于 2012-07-24T19:08:01.003 に答える
1

正規表現で数値範囲を検証するには、考えられるすべての組み合わせを指定する必要があります。そのため、通常は .NET の などの組み込みツールを使用するのが最適IPAddress.TryParseです。とにかく...

((?:1?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:1?\d{1,2}|2[0-4]\d|25[0-5]):\d{2,5}
于 2012-07-24T19:05:17.640 に答える
0
"^([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])$:\d{2,5}";

証拠

于 2012-07-24T19:09:52.990 に答える