ワイルドカードを使用してJava IP検証正規表現*

春のメーラー:

私は自分の正規表現は、ワイルドカード*今では私自身の正規表現と一緒にIPと一致するようにしようとしています:

^((((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]))|?(((25 [0-5] | 2 [0-4] [0-9] |?。[01] [0-9] [0-9])\){1,3} \ *))$

私が望むように、私はEXこの条件指定した正規表現を与えたい働いていません:

192.168.1.1 - >有効

192.168.1。* - >有効

192.168 * * - 。。>有効

192 * * * - 。。。>有効


192.168 * 1 - 。。>無効

192 * 1.1 - 。。>無効

192 * * 1 - 。。。>無効

* .168.1.1 - >無効

第四鳥:

1つのオプションは、3桁またはAのいずれかで3つの以下のドットのためのアサートに肯定先読みを使用することです *

一致するときは、作ることができる*最後の部分とオプションを。

^(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(?=(?:\.(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])|\*)){3}$)(?:\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9]))*(?:\.\*)*$

正規表現のデモ

別のオプションは、すべての選択肢をスペルアウトすることです:

^(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])|(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.\*|(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.\*\.\*|\*\.\*\.\*)$

正規表現のデモ

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=14286&siteId=1