C# 在中间用随机字符串获取两个字符之间的字符串值

C# 在中间用随机字符串获取两个字符之间的字符串值,c#,regex,string,C#,Regex,String,我很少有像这样的HTML行 <div class="itemA" attr="abc">VALUE I NEED TO GET</div> <div class="itemA" data-attr="def">VALUE I NEED TO GET</div> <div class="itemA" something-else="xyz">VALUE I NEED TO GET</div> <div class="it

我很少有像这样的HTML行

<div class="itemA" attr="abc">VALUE I NEED TO GET</div>
<div class="itemA" data-attr="def">VALUE I NEED TO GET</div>
<div class="itemA" something-else="xyz">VALUE I NEED TO GET</div>
<div class="itemA" other="123">VALUE I NEED TO GET</div>
<div class="itemB">VALUE I DONT NEED TO GET</div>
<div class="itemB">VALUE I DONT NEED TO GET</div>

是否还有忽略或删除前置字符的方法?

如果您在NuGet软件包管理器中搜索,您将得到一个很好的工具,它将为您完成所有解析。那么您就不需要正则表达式了。

使用不在集合中的捕获
[^]+
来查找文本。所以我会把它改成

(?<=>)([^<]+)
这是我的C#示例

stringdata=@“我需要获取的值
我需要得到的价值
我需要得到的价值
“我需要得到的价值”;

(我会谷歌一个HTML解析框架和使用这个;)我会谷歌谷歌一个HTML解析框架和使用这个;)我会谷歌谷歌一个HTML解析框架和使用这个;)关于为什么t关于关于关于为什么t关于关于关于关于关于关于关于关于为什么t关于关于关于关于关于关于关于关于关于关于关于关于关于关于关于关于关于关于关于关于关于关于关于关于关于关于关于关于关于关于本月8月8日日日日(8)的8月8 8日日日日(8))的8 8 8月8日日日日(8月8))关于本本本本本月8月8月8日日(8月8日日日)))在在在本本本本月8月8月8月8月8月8月8月8日(8日(8月8日日日)))))在在本本本月8月8月8月8月8月8日(8月8月8月8月8日(8月8月8月8月8日日日在在在在在这是一个很好的例子‌​这是一个很好的例子‌ 如果它是格式良好的XML,那么它是一个不好的想法吗?您可以尝试将其作为XML或使用
]+>(.*)(?)
如果你想让你的代码大部分时间都正常工作,但不是每次我都使用Regex,因为它的设置速度非常快,而且我只需要整个html页面中的几个值谢谢,但我认为如果数据中有其他标记,它将捕获>@S中的所有其他值,这是真的,但你没有提供需要的情况待考虑。还有其他的吗?我更新添加了更多的案例,希望能帮助我达到目的clearer@S.A通过您最近的示例可以看出,要仅获取特定字符串,您需要向lookbehind
(?是的,{…})添加更多内容实际上我还不知道,不知道该放什么,这样普通人就可以跳过所有内容,直到角色“>”
Regex.Matches([HTML_ABOVE], @"(?<=class=""itemA"")(.*?)(?=</div>)")
attr="abc">VALUE I NEED TO GET
data-attr="def">VALUE I NEED TO GET
something-else="xyz">VALUE I NEED TO GET
other="123">VALUE I NEED TO GET
(?<=>)([^<]+)
(?<=>)(?![\r\n])([^<]+)
string data = @"<div class=""item"" attr=""abc"">VALUE I NEED TO GET</div>
<div class=""item"" data-attr=""def"">VALUE I NEED TO GET</div>
<div class=""item"" something-else=""xyz"">VALUE I NEED TO GET</div>
<div class=""item"" other=""123"">VALUE I NEED TO GET</div>";

Regex.Matches(data, @"(?<=>)(?![\r\n])([^<]+)")
     .OfType<Match>()
     .Select(itm => itm.Groups[1].Value);