2

これは、オープンソースのwikiソリューションであるmediawikiからの正規表現です。

/\[((http\:\/\/|https\:\/\/|ftp\:\/\/|irc\:\/\/|ircs\:\/\/|gopher\:\/\/|telnet\:\/\/|nntp\:\/\/|worldwind\:\/\/|mailto\:|news\:|svn\:\/\/|git\:\/\/|mms\:\/\/|\/\/)[^][<>"\x00-\x20\x7F\p{Zs}]+)\p{Zs}*([^\]\x00-\x08\x0a-\x1F]*?)\]/Su

私にはそれがuriのものと一致するように見えますが、私はそれを何にも一致させることができません。そして、正規表現の最後の部分、つまり、を理解するのに苦労しています。

[^][<>"\x00-\x20\x7F\p{Zs}]+)\p{Zs}*([^\]\x00-\x08\x0a-\x1F]*?)\]

これは一体何をしますか?

これをデコードする上での助けは大歓迎です。

4

2 に答える 2

4

この正規表現は、次のような外部リンクと一致します

[http://www.stackoverflow.com]
[https://www.stackoverflow.com StackOverflow]
[ftp://ftp.mozilla.org Mozilla]
于 2012-04-12T07:53:47.587 に答える
3

[^][<>"\x00-\x20\x7F\p{Zs}]
][<>"、ASCII文字範囲\x00-\x20、ASCII文字\x7F、および空白以外の 任意の文字に一致する否定文字クラスです(任意の種類のスペース文字に一致p{Zs}するUnicode文字プロパティです)

\p{Zs}*あらゆる種類のスペース文字に0回以上一致する

[^\]\x00-\x08\x0a-\x1F]
]、ASCII文字範囲以外の 任意の文字に一致する否定文字クラスであり\x00-\x08\x0a-\x1F

于 2012-04-12T08:15:04.830 に答える