Crie a expressão regular mais curta que corresponderá aproximadamente a uma URL no texto quando executada em JavaScript
Exemplo:
"some text exampley.com".match(/your regular expression goes here/);
A expressão regular precisa
- capture todos os URLS válidos para http e https.
- não se preocupe em não corresponder a strings com aparência de URL que não são realmente URLs válidos como
super.awesome/cool
- ser válido quando executado como uma regex JavaScript
Critérios de teste:
Combine:
- http://example.com
- http://example.com/
- http://example.com/super
- https://example.com/super
- example.com/super
- example.com
- example.com/su-per_duper/?add=yes&subtract=no
- example.com/archive/index.html
- twitter.com/#!/reply
- example.com/234ret2398oent/234nth
- codegolf.stackexchange.com/questions/464
- crazy.wow.really.example.com/?cat=nth%3E
- exemplo-exemplo.com
- example1.com
Não combina:
- exemplo
- muito legal
- Bom Dia
- eu posso
- Olá.
Aqui está um teste que pode ajudar a esclarecer um pouco http://jsfiddle.net/MikeGrace/gsJyr/
Peço desculpas pela falta de clareza, não havia percebido o quanto os URLs correspondentes eram terríveis.
\w
para tudo. Você espera referências para diferentes componentes de URL?
/:/
como expressão regular e corresponder a URIs válidos e não corresponder a todos os seus exemplos na lista »Não corresponder». Desde que você siga esse caminho, é simplesmente a pergunta: qual é a expressão regular mais curta que não corresponde a nenhuma das seqüências de exemplo, mas ainda captura todos os URIs.