1

所以我正在编写一个小片段来首先通过正则表达式识别一个 wordpress 站点,然后将尝试访问登录页面等。

这可以更好地优化吗?我应该考虑属性之间的空格吗?

Regex wordPressPattern = new Regex("(<meta name=\"generator\" content=\"WordPress)| (Powered by <a href=\"http://www.wordpress.org\")+", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Singleline);
4

1 回答 1

1

一些改进:

  • 考虑空间
  • 删除+最后的,因为那没有意义
  • 做www。可选的
  • 制作 httpS(S 可选)
  • 如果有单引号而不是双引号(这是有效的 HTML)怎么办?我们将使用("|')
  • name=\"generator\"我认为这无关紧要,所以我们将在最后使用.*?并添加[^>]*>

把它们加起来:

(<meta.*?content\s*=\s*(\"|')WordPress[^>]*>)|(Powered\s+by\s+<a\s+href\s*=\s*(\"|')http(s)?://(www.)?wordpress.org(\"|'))
于 2013-04-26T19:52:29.297 回答