使用正则表达式从HTML中的Url中删除查询字符串

Eog*_*anM 0 html regex url parsing

给定一个html文档,从文档中的每个url中删除查询字符串的最正确和简洁的正则表达式模式是什么?

bob*_*nce 5

您无法使用正则表达式有用地解析HTML.如果您事先知道页面的格式 - 例如.

  • 链接总是以<a href ="url没有不必要的字符转义">的形式,或者
  • 所有链接都是绝对的,并且不存在以http:开头的其他非链接字符串

那么你可以侥幸逃脱它,但对于一般[X] HTML,正则表达式解析器是不合适的.

根据您使用的语言,您需要找到HTML解析器库(例如Python的BeautifulSoup),或者结合标准XML解析器的HTML整理器,然后扫描文档中的<a>元素(也许其他的,例如.<img>如果你对这些感兴趣吗?),那么将属性值拆分为'?'.