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

我遇到了同样的问题 - 垃圾邮件发送者试图通过使用 '=\n' 多次分解他们的 URL 来混淆他们的 URL。

试试这个正则表达式 - 它似乎工作得很好。它匹配被破坏两次或多次的 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

试试这个

((https?://)?([-\w]+\.[-\w\.]+)+\w(:\d+)?(/([-\w/_\.\,\=]*(\?\S+)?)?)*)
于 2012-11-02T17:52:40.173 回答
0
  1. 搜索https?://(\S+|(?<==)\n)*

  2. 如果找到匹配项,则=\n用空字符串替换每个出现的

于 2012-11-03T13:35:32.753 回答