我还在学习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>
标记。< / p>
完成的字符串应该是这样的,虽然我可以使用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)
答案 0 :(得分:0)
您可以这样做:(<\/Paragraph>.*\s*)(<Hyperlink.*)
然后替换为$1<Paragraph>$2</Paragraph>
。