Jest to regex z mediawiki, rozwiązania wiki typu open source.
/[((http://|https://|ftp://|irc://|ircs://|gopher://|telnet://|nntp://|worldwind://|mailto:|news:|svn://|git://|mms://|//)[^][<>"x00-x20x7Fp{Zs}]+)p{Zs}*([^]x00-x08x0a-x1F]*?)]/Su
Dla mnie wygląda na to, że pasuje do URI, ale nie mogę go dopasować do niczego. I mam problemy ze zrozumieniem ostatniej części regexu, mianowicie.
[^][<>"x00-x20x7Fp{Zs}]+)p{Zs}*([^]x00-x08x0a-x1F]*?)]
co do cholery to robi?
Pomocna przy dekodowaniu jest bardzo doceniana.
Odpowiedzi:
4 dla odpowiedzi № 1To wyrażenie regularne pasuje Linki zewnętrzne lubić
[http://www.stackoverflow.com]
[https://www.stackoverflow.com StackOverflow]
[ftp://ftp.mozilla.org Mozilla]
3 dla odpowiedzi № 2
[^][<>"x00-x20x7Fp{Zs}]
Jest to negowana klasa znaków pasująca do dowolnego znaku, ale: ][<>"
, zakres znaków ASCII x00-x20
, postać ASCII x7F
i biała spacja (p{Zs}
jest Właściwość znaków Unicode który pasuje do dowolnego rodzaju znaków spacji)
p{Zs}*
dopasowuje dowolny rodzaj znaków spacji 0 lub więcej razy
[^]x00-x08x0a-x1F]
Jest to negowana klasa znaków pasująca do dowolnego znaku, ale ]
, zakresy znaków ASCII x00-x08
i x0a-x1F