0

改行と「=」を含む以下のリンクに一致する正規表現はどれですか。現在、この正規表現を使用していますが、すべてに一致しているわけではありません:

((https?://)?([-\w]+\.[-\w\.]+)+\w(:\d+)?(/([-\w/_\.\,]*(\?\S+)?)?)*)

これはリンクの例です:

http://www.linkedin.com/e/-eiijvz-h8zq2onn-2/VHWTzmPYQo40LPs2VhS6b_Nyx0MiE=
3in240VQyyWqfjjL007hj1UF1JEF-nYdDR/blk/I319184359351_65/0UcDpKqiRzolZKqiRybmR=
SrCBvrmRLoORIrmkZt5YCpnlOt3RApnhMpmdzgmasdhxrSNBszYRdBYNdjcVe34Vcjd9bSRjjS5dh=
CAQbPoUdzATdjsScPALrCBxbOYWrSlI/eml-comm_invm-b-in_ac-inv28/?hs=3Dfalse&to=
k=3D2PRdy1KvKbNls1
4

3 に答える 3

1

私も同じ問題を抱えていました。スパマーは URL を「=\n」で何度も分割して難読化しようとしていました。

この正規表現を試してみてください - かなりうまくいくようです。2 回以上壊れている URL に一致します。有効な URL がこのように何度も分割されることはほとんどありません。

['"]https?:\/\/(?:\S*=\s){2,}(?:\S*)['"]

そして、彼らがhttp内にブレークを入れている場合、これがあります(少しハック)

['"]h(?:=\s)?t(?:=\s)?t(?:=\s)?p(?:=\s)?s?:(?:=\s)?\/(?:=\s)?\/(?:\S*=\s){2,}(?:\S*)['"]
于 2013-01-23T19:47:30.197 に答える
0
  1. 検索するhttps?://(\S+|(?<==)\n)*

  2. 一致するものが見つかった場合は、出現するたび=\nに空の文字列に置き換えます

于 2012-11-03T13:35:32.753 に答える
0

これで試してください

((https?://)?([-\w]+\.[-\w\.]+)+\w(:\d+)?(/([-\w/_\.\,\=]*(\?\S+)?)?)*)
于 2012-11-02T17:52:40.173 に答える