【问题标题】:Match urlencoded data from file匹配文件中的 urlencoded 数据
【发布时间】:2014-02-21 20:38:29
【问题描述】:

有没有办法匹配文件中的 HTTP POST urlencoded 数据(内容类型:application/x-www-form-urlencoded)?匹配的字符串将仅包含可打印字符和 urlencoded 字符,例如 HTTP POST/GET 数据中的% A-F 和变量符号&,当然还有变量名称和变量内容之间的=。以我需要匹配的数据的随机文本为例:

那里的死亡是嘈杂的优点。害羞的春天也没有六 虽然共同生活问程度。 dashwood进阶的回复 夫人最小的处置或。尝试办公室自己的改进现在看到。 被叫的人都在县城附近谈起了她的尊重。那些完全这些 事情似乎并非如此。 website=http%3A%2F%2Fwww.test.com%2F&number=1037319821&comment=Test+mea&gender=male&submit=提交 烨就妥妥的帅回来扔了没啥。在没有 希望他的照片没有暴露的谈话时间。好奇心不断 属于冒犯所以解释它精致。记得关注 自己的材料先生经常马车。 High draw west we no or at 约翰。关于或给予诙谐事件。或善于交际的材料学士 把房东关起来。忙了这么多在挂容易找到好起来。所以 精致的我一个解释的余数。 Dashwood 表示安全 就察觉到我的笑声。 id=1234&variable=test&firstname=John&lastname=Doe&gender=male&submit=Submit

要匹配的数据以粗体显示。尝试了很多方法,但找不到带有 %[A-F]{2} & = 或一般匹配它们的正则表达式。

【问题讨论】:

标签: python ruby regex pcre


【解决方案1】:

这应该可以让你大部分时间到达那里。

x = re.compile("([A-Za-z0-9%./]+=[^\s]+)")
out = x.findall(input_str)

# out = ['website=http%3A%2F%2Fwww.test.com%2F&number=1037319821&comment=Test+mea&gender=male&submit=Submit', 'id=1234&variable=test&firstname=John&lastname=Doe&gender=male&submit=Submit']'

【讨论】:

  • 如果查询参数 name 是 URL 编码的,这不会中断吗?
  • 是的!这就是我的意思。不,我的字符串已经有 urlencoded 数据。
  • 在正则表达式中添加了一个 %。为我工作。
猜你喜欢
  • 1970-01-01
  • 2015-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多