我仍然在學習Regex
所以如果我在某個地方出錯了,請幫助我。在我的項目中,我使用簡單的格式化字符串創建RichTextBlock
到XAML Reader
。我能夠通過一些Regex
模式來格式化我的字符串,現在有一個問題,即<Hyperlink />
有時會被從<Paragraph>
標記中排除,並且它會拋出異常。不是一個確定的正則表達式
該樣品string
是:
</Paragraph> some words here (@somevaluehere1)
<Hyperlink NavigateUri="https://somelink.com">July 14, 2017</Hyperlink>
我想Regex
模式看出來的這場比賽:
如果
<Hyperlink
開始標記的</Paragraph>
結束標記之後是然後用整個Hyperlink
值捕獲該字符串,並將其替換爲周圍的<Paragraph>
TAG。
和完成字符串應該是這樣的,但我可以使用Linq
更換匹配的字符串:
</Paragraph> some words here (@somevaluehere1)
<Paragraph><Hyperlink NavigateUri="https://somelink.com">July 14, 2017</Hyperlink></Paragraph>
我想知道是否有可能與Regex
或理清這個問題我需要其他方法嗎?
我編制了Regex
模式,但我知道這不是正確的答案。也許有經驗的人可能會在這裏幫助。
我想出的模式是:<\/Paragraph>(\s?)(\w+\s?\w+\s?)(\(?\@?\w+\)?)(\s?<Hyperlink)
相反濫用正則表達式,可以[使用LINQ替換在XML中的節點(https://msdn.microsoft.com/en-us/library/bb302711(V = vs.110).aspx)。 – LukStorms
爲什麼這麼多人嘗試使用Regex來解析XML? –
[可以提供一些爲什麼很難用正則表達式分析XML和HTML的例子嗎?](https://stackoverflow.com/questions/701166/can-you-provide-some-examples-of-爲什麼它很難解析xml和html-with-a-reg) –