我想在c#中使用正则表达式来查找此文本:
gt;gt; ssssss cccc=SpellE>OwnerName ssssss lt;lt;
在本文中:
gt;gt; ssssss cccc=SpellE>OwnerName ssssss lt;lt;
gt;gt; ssssss cccc=SpellE>RenterName ssssss lt;lt;
我使用了这个正则表达式:
\[gt\;gt\;\](.*)[OwnerName](.*)\[lt\;lt\;\]
但它发现这两个短语不仅仅是包含RenterName的短语
答案 0 :(得分:1)
我相信你正在寻找这样的东西:
(?:gt;){2}((?>(?!gt;).)*)(OwnerName)((?>(?!lt;).)*)(?:lt;){2}
此正则表达式有两个特定部分:(?>(?!gt;).)*
匹配任何没有gt;
的文本,(?>(?!lt;).)*
匹配任何没有lt;
的文本。如果您使用此正则表达式,我认为^
/ $
锚点不需要。
请参阅demo
答案 1 :(得分:0)
https://regex101.com/r/bM7hP8/1 - 试试这个:gt\;gt\;(.*)(OwnerName)(.*)lt\;lt\;
它只捕获OwnerName序列。
如果您想要整个序列,请将其包裹起来:(gt\;gt\;(.*)(OwnerName)(.*)lt\;lt\;)
答案 2 :(得分:0)
试试这个:^(gt\;){2}(.*)(OwnerName)(.*)(lt\;){2}$
它工作正常。
此正则表达式仅匹配gt;gt; ssssss cccc=SpellE>OwnerName ssssss lt;lt;
。