マークアップ言語で URL に一致するコード (有効である必要はありません) に取り組んでいます。単に URL をインポートするか、[ ] の間に追加することができます。いくつか例を挙げます:
1- http://en.wikipedia.org/wiki/Main_Page
2-[ http://en.wikipedia.org/wiki/Main_Page Title]
3-[ http://en.wikipedia. org/wiki/(Main_Page) Title]
4-( http://en.wikipedia.org/wiki/Main_Page )
5-[http://en.wikipedia.org/wiki/Main_Page]
3 つの正規表現が必要です。括弧内の URL (no. 2,3,5) 、括弧内にない URL 用 (1,4) 、および最初と 2 番目のすべての URL は簡単です。
notInside = '\]\s<>"'
notAtEnd = '\]\s\.:;,<>"\|\)'
regex = r'(?P<url>http[s]?://[^%(notInside)s]*?[^%(notAtEnd)s]' \
r'(?=[%(notAtEnd)s]*\'\')|http[s]?://[^%(notInside)s]*' \
r'[^%(notAtEnd)s])' % {'notInside': notInside, 'notAtEnd': notAtEnd}
しかし、問題は 3 番目のものから始まります。URL は 4 番のように括弧 (または角括弧以外) で始まります。正規表現は URL の末尾にある ")" と一致するべきではありませんが、最後に ")" を使用することがあります。 3 番目の正規表現に 2 つの別々の正規表現を記述して結果を結合することはできません。
もう 1 つ: フリー ソフトウェア コードであなたのヘルプを投稿します。よろしければ、あなたのコードを MIT ライセンスで公開します。ありがとうございました