0
我試圖在Xamarin窗體中顯示格式化的標籤(不要緊,如果你不熟悉,問題不依賴於此)。給定一個字符串可以包含任何字符和<b> </b >標記,我需要創建FormattedString對象,其中包含文本的跨度。例如C#正則表達式與Xamarin的HTML標籤FormattedString
Lorem ipsum dolor sit amet, consectetur <b>adipiscing elit</b>. Integer imperdiet massa accumsan turpis ullamcorper tempor. <b>Cras eget erat quis mi sollicitudin vehicula.</b> Sed ac risus mattis.
此文本應該被轉化成這些跨度
Lorem存有悲坐阿梅德,consectetur
adipiscing ELIT
。 Integer非侵入性massa accumsan turpis ullamcorper tempor。
Cras eget erat quis mi sollicitudin vehicula。
Sed ac risus mattis。
我使用下面的正則表達式
private static Regex _formatterRegex = new Regex(@"(?<text>[^<>\\/]+)|(?<bold><b>(?<boldBody>[^<>\\/]*)<\\/b>)");
所以我要麼匹配b <一些> TEXT </B >或任意文本。這裏的問題是'b'<b> </b >標籤也匹配。看看進入比賽
我需要以某種方式只有當它不是內任意文本匹配<b> </B >標籤,所以我的比賽集合將不包含HTML標籤的B-S。有任何想法嗎?
使用HTML解析器 –
你能不能給我一個鏈接?我也不想使用整個HTML解析庫來解析一個標籤。無論如何,我想用正則表達式解決這個問題,所以我需要一個正則表達式解決方案。 – kyurkchyan
我建議閱讀關於[*最偉大的正則表達技巧*](http://www.rexegg.com/regex-best-trick.html#allbutx)。 –