代理模式的正则表达式

时间:2012-07-24 19:01:18

标签: java regex proxy notepad++

从垃圾文本列表中我正在使用正则表达式。以下将完成解析代理模式的工作     (\d{1,3}\.){3}\d{1,3}:\d{2,5}。但是这种模式解析了这样的文本:

692.248.222.879:43780
692.83.47.579:43780

哪个IP地址不可能。我想知道,如何使用正则表达式跳过这种范围?

我更喜欢的工具:Java或C#,notepad ++。但是任何语言都可以。

3 个答案:

答案 0 :(得分:2)

试试这个:

\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

仅适用于最后一个

答案 1 :(得分: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}

答案 2 :(得分: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}";

Proof