テキスタイルに非常によく似たテキストからマークアップへのプロセスの最小限のバージョンを作成しています。太字、斜体、取り消し線 (それぞれ *、_、および - を使用) は正常に変換されますが、次の式を使用して HTTP 文字列を自動的にリンクに変換しています。
/([^\(])(https?:\/\/([-\w\.]+)+(:\d+)?(\/([\w\/_\.\-]*(\?\S+)?)?)?)/
問題は、HTTP 文字列にたとえばダッシュが含まれている場合、取り消し線 ( /\-([^\*]+?)\-/
) の表現も処理され、URL リンクが変更されることです。
site.com/path-with-dashes
にsite.com/path<del>with</del>dashes
両方のプロセスを一緒に達成するための最適なソリューションは何ですか? 取り消し線式を変更して、ダッシュの前の文字をスペース文字または行頭にする必要があるようにするとうまくいくと思いますが、1 つの式でこれを達成することはできません。