私はC#のHTML変換器の基本的なMarkdownを作成しています。正規表現を使用してMarkdownインラインリンクをHTMLリンクに変換します。
太字とイタリックのテキストを変換するための正規表現を書くことができましたが、マークダウンリンクをhtmlのリンクタグに変換できる正規表現を考え出すのは苦労しています。例えば
:
This is a [link](/url)
が
This is a <a href='/url'>link</a>
なるべきこれは、これまでの私のコードです:
var bold = new Regex(@"(\*\*|__) (?=\S) (.+?[*_]*) (?<=\S) \1", // Regex for bold text
RegexOptions.IgnorePatternWhitespace | RegexOptions.Singleline | RegexOptions.Compiled);
var italic = new Regex(@"(\*|_) (?=\S) (.+?) (?<=\S) \1", // Regex for italic text
RegexOptions.IgnorePatternWhitespace | RegexOptions.Singleline | RegexOptions.Compiled);
var anchor = new Regex(@"??????????", // Regex for hyperlink text
RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace | RegexOptions.Compiled);
content = bold.Replace(content, @"<b>$2</b>");
content = italic.Replace(content, @"<i>$2</i>");
content = anchor.Replace(content, @"<a href='$3'>$2</a>");
これを実現することができ、正規表現のどのような?
で正規表現働いています/ question/40177342/regex-convert-a-markdown-in-html-link-with-c-sharp "この質問へのリンク") ' – Misiakw
これは本当ですが、/url'を解析します。彼はおそらく「リンク先が自分のサイトから離れていることを望んでいませんか? – Addison