salve a tutti, sono alle prime armi con le espressioni regolari, e non riesco a capire perchè questa non funzioni:
/(http\:\/\/|https\:\/\/|ftp\:\/\/)([^\"]*?)[\s\n\t$\z\"\[\]\<\>]/is
il mio intento è quello di catturare un link da una stringa.
il problema dovrebbe stare nell'ultimo blocco di codice, quello evidenziato in verde. ho ottenuto risultati migliori usandolo come una positive lookahead, ma il codice fallisce a trovare il termine del link.
(?=\s|\n|\t|$|\z|\"|\[|\]|\<|\>)
ad esempio se alla fine del link sono presenti gli apici ", questi vengono considerati parte del link. usare ?: all'inizio del blocco non risolve il problema.. non capisco