这个RegEx会匹配任何Stack Exchange站点吗?

时间:2010-08-15 18:04:39

标签: regex

我已经制作了这个RegEx:

/http:\/\/(.+)?\.?(stackoverflow|superuser|serverfault|stackapps|stackexchange)\.com\/questions\/([0-9]+)\/?.*/i

它需要匹配任何Stack Exchange网站的问题。这是正确的RegEx吗?我测试了它并且它有效,但我没有在所有测试版网站上测试它,因为我知道我在RegEx世界中是撒旦,我知道有些问题(我的RegExes xD总是有问题)

这个好吗?感谢。

2 个答案:

答案 0 :(得分:1)

你打算将它用于可能试图欺骗它的派对吗?我想,这可以匹配url的查询字符串。 (http://badguy.com?https://stackoverflow.com/questions)。

更好的方法可能是使用URL解析库或函数来安全地提取重要组件。

答案 1 :(得分:1)

您确定要使用正则表达式执行此操作吗?我认为如果您存储所有现有网站的网址并使用此列表会更好。当您使用正则表达式时,无论如何,一旦所有测试版网站上线并选择其域名,您都需要更新它...