0

ip:port の形式で IP アドレスのリストを取得しましたが、一部は形式が正しくありません。たとえば、次のようになります。

OCTETS ARE EXAMPLES, It doesn't matter that they are over 255
12.345.678.90:12345
58412.345.678.91:12391
12.345.678.92:1823
12.345.678.93:80

非常に頻繁に発生するため、正規表現を使用して2番目のIPから余分な番号を取り除きたいのですが、これらの〜2000をフィルタリングする必要があります

私の最初の考えは、 find:\r\n[0-9]{3,15}(.*\r\n[0-9]{1,3})を に置き換える\2\1\2ことでしたが、効果がないようです。

次の行の先頭の数字が同じであると想定する必要がありましたが、必ずしもそうである必要はありません。次の行がドットの前に含まれる数字につながる場合にのみ修復するソリューションを誰かが私に示すことができれば、それは大歓迎です。

編集:この正規表現に Notepad++ を使用しています

また、オクテット検出を使用していても、必要な数値が 12 で、最初のオクテットが 112 の場合はどうでしょうか。

4

2 に答える 2

0

に置き換え^\d+(\d{2}\.)てみてください\1

于 2012-08-01T17:35:22.160 に答える
0

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

これは、有効なIPアドレスと一致する必要があります。(つまり、257が大きすぎるため、「257.4.33.134」ではありません)

注:オクテットが大きすぎるため、これはどの例とも一致しません

StackOverflowへようこそ!

于 2012-08-01T17:37:06.703 に答える