誰かがこの正規表現の何が問題なのか教えてもらえますか?
((?:(?: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]?))\\:([0-9]{2,5})
これに一致する場合:assfasfas> 192.168.1.1:8080192.168.222.43:8286
キャプチャされたグループには192.168.1.1と8080が必要です
ありがとうございました
誰かがこの正規表現の何が問題なのか教えてもらえますか?
((?:(?: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]?))\\:([0-9]{2,5})
これに一致する場合:assfasfas> 192.168.1.1:8080192.168.222.43:8286
キャプチャされたグループには192.168.1.1と8080が必要です
ありがとうございました
本当にIPアドレスの検証を行う必要がない限り、この獣は「IP部分」と「ポート部分」を一致させるには複雑すぎるため、正規表現を単純化することをお勧めします。私の提案は
(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):(\d{1,5})
グループ1と2は、それぞれIPとポートを保持します。そして、上記はすでに必要以上に複雑です。私見では、これと同じくらい単純なものでも十分です。
(\d+\.\d+\.\d+\.\d+):(\d+)
二重の円記号は正規表現ではなくJava文字列の要件であるため、省略したことに注意してください。