Crea l'espressione regolare più breve che corrisponderà approssimativamente a un URL nel testo quando viene eseguita in JavaScript
Esempio:
"some text exampley.com".match(/your regular expression goes here/);
L'espressione regolare deve
- cattura tutti gli URL validi che sono per http e https.
- non preoccuparti di non trovare corrispondenze per stringhe che sembrano URL che non sono in realtà URL validi come
super.awesome/cool
- essere valido quando eseguito come regex JavaScript
Criteri di prova:
Incontro:
- 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
- example-example.com
- example1.com
Non corrisponde:
- esempio
- eccellente / freddo
- Buongiorno
- io posso
- Ciao.
Ecco un test che potrebbe aiutare a chiarire un po ' http://jsfiddle.net/MikeGrace/gsJyr/
Mi scuso per la mancanza di chiarezza, non mi ero reso conto di quanto fossero spaventosi gli URL di corrispondenza.
\w
per tutto Ti aspetti backreferences per diversi componenti URL?
/:/
come espressione regolare e abbinare URI validi e non corrispondere a tutti i tuoi esempi nell'elenco »Non abbinare«. Fintanto che stai percorrendo quella strada è semplicemente la domanda: qual è l'espressione regolare più breve che non corrisponderà a nessuna delle stringhe di esempio ma catturerà comunque tutti gli URI.