1

2つのIPアドレスを正規表現と一致させる必要があります:20.20.20.20のように

should match with      20.20.20.20
should match with      [http://20.20.20.20/abcd]
should not match with  20.20.20.200
should not match with  [http://20.20.20.200/abcd]
should not match with  [http://120.20.20.20/abcd]

現在、私はこの正規表現のようなものを使用しています:".*[^(\d)]20.20.20.20[^(\d)].*" しかし、それは1番目と3番目のケースでは機能しません。この正規表現を手伝ってください。

4

3 に答える 3

2

行が 20.20.20.20 で始まるケースを無視しています。

"(.*[^(\d)]|^)20.20.20.20([^(\d)].*|$)"

私のために働くようです

于 2012-06-25T10:22:19.020 に答える
0

[^(\d)]数量詞を使用しないと、数値ではない正確に 1 つの文字が期待されることを意味します[^(\d)]*

于 2012-06-25T10:04:41.300 に答える
0

次のように実行できます。

select * from tablename
where ip = '20.20.20.20' or ip like 'http://20.20.20.20/%'
于 2012-06-25T10:02:47.303 に答える