/ / Este RegEx corresponderá a qualquer site do Stack Exchange? - regex

Esse RegEx corresponderá a qualquer site do Stack Exchange? - regex

Eu fiz este RegEx:

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

Ele precisa corresponder a qualquer site da Stack Exchangequestão. Este é o RegEx certo? Eu testei e funciona, mas não testei em todos os sites beta e, como sei que sou Satanás no mundo RegEx, sei que há algo errado (sempre há algo errado com meu RegExes xD) .

Esse é bom? Obrigado.

Respostas:

1 para resposta № 1

Você vai usá-lo contra partes que possam estar tentando enganá-lo? Isso poderia corresponder à string de consulta do URL, eu acho. (http://badguy.com?https://stackoverflow.com/questions).

Uma abordagem melhor pode ser usar uma biblioteca ou função de análise de URL para extrair os componentes importantes com segurança.


1 para resposta № 2

Tem certeza de que deseja fazer isso com uma regex? Eu acho que seria melhor se você armazenasse todos os URLs de sites existentes em algum lugar e usasse essa lista. Ao usar um regex, será necessário atualizá-lo assim que um dos sites beta for lançado e escolher seu domínio ...