C# 获取未知字符串之间的值

C# 获取未知字符串之间的值,c#,regex,C#,Regex,我试着在另外两条线之间拔出一根线。但为了使其更加复杂,诉讼内容往往会有所不同 我试图检索的字符串是基督城 到目前为止,我使用的正则表达式是(?),但是,这两个字符串之间的内容有时会根据用户的偏好而有所不同 用粗略的非正则表达式术语来说,我想做以下工作:从办公室开始:一直到300px>找到从这里开始并以结束的字符串。您遇到的问题是*是贪婪的。使用懒惰/不情愿的版本*? Office:[\s\S]*?300px">(.*?)</td Office:[\s\s]*?300px“>(.*

我试着在另外两条线之间拔出一根线。但为了使其更加复杂,诉讼内容往往会有所不同

我试图检索的字符串是基督城

到目前为止,我使用的正则表达式是
(?),但是,这两个字符串之间的内容有时会根据用户的偏好而有所不同


用粗略的非正则表达式术语来说,我想做以下工作:从
办公室开始:
一直到
300px>
找到从这里开始并以
结束的字符串。您遇到的问题是
*
是贪婪的。使用懒惰/不情愿的版本
*?

Office:[\s\S]*?300px">(.*?)</td

Office:[\s\s]*?300px“>(.*)您遇到的问题是
*
贪婪。请使用懒惰/不情愿的版本
*?

Office:[\s\S]*?300px">(.*?)</td

Office:[\s\s]*?300px“>(.*)您遇到的问题是
*
贪婪。请使用懒惰/不情愿的版本
*?

Office:[\s\S]*?300px">(.*?)</td

Office:[\s\s]*?300px“>(.*)您遇到的问题是
*
贪婪。请使用懒惰/不情愿的版本
*?

Office:[\s\S]*?300px">(.*?)</td

Office:[\s\s]*?300px“>(.*)您考虑过改用HTMLAgilityPack吗?它是一个用于处理HTML的Nuget包,能够很好地处理格式错误的HTML。大多数堆栈溢出建议不要使用正则表达式来处理HTML-请参阅此处:

以下是您在示例中的做法:

using HtmlAgilityPack; //This is a nuget package!
var html = @"<tr >
               <td align=""right"" valign=""top""><strong>Office:</strong>&nbsp; </td>
               <td align=""left"" class=""stippel"" style=""white-space: wrap;max-width:300px"">Christchurch </td>
             </tr>";

var htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(html);

var node = htmlDoc.SelectSingleNode("//td[@class='stippel']");
Console.WriteLine(node.InnerHtml);
使用HtmlAgilityPack;//这是一个nuget包!
var html=@”
办公室:
克赖斯特彻奇
";
var htmlDoc=新的HtmlDocument();
htmlDoc.LoadHtml(html);
var node=htmlDoc.SelectSingleNode(//td[@class='stippel']);
Console.WriteLine(node.InnerHtml);

我还没有测试过这段代码,但它应该可以满足您的需要。

您考虑过改用HTMLAgilityPack吗?它是一个用于处理HTML的Nuget包,能够很好地处理格式错误的HTML。大多数堆栈溢出建议不要使用Regex for HTML-请参阅此处:

以下是您在示例中的做法:

using HtmlAgilityPack; //This is a nuget package!
var html = @"<tr >
               <td align=""right"" valign=""top""><strong>Office:</strong>&nbsp; </td>
               <td align=""left"" class=""stippel"" style=""white-space: wrap;max-width:300px"">Christchurch </td>
             </tr>";

var htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(html);

var node = htmlDoc.SelectSingleNode("//td[@class='stippel']");
Console.WriteLine(node.InnerHtml);
使用HtmlAgilityPack;//这是一个nuget包!
var html=@”
办公室:
克赖斯特彻奇
";
var htmlDoc=新的HtmlDocument();
htmlDoc.LoadHtml(html);
var node=htmlDoc.SelectSingleNode(//td[@class='stippel']);
Console.WriteLine(node.InnerHtml);

我还没有测试过这段代码,但它应该可以满足您的需要。

您考虑过改用HTMLAgilityPack吗?它是一个用于处理HTML的Nuget包,能够很好地处理格式错误的HTML。大多数堆栈溢出建议不要使用Regex for HTML-请参阅此处:

以下是您在示例中的做法:

using HtmlAgilityPack; //This is a nuget package!
var html = @"<tr >
               <td align=""right"" valign=""top""><strong>Office:</strong>&nbsp; </td>
               <td align=""left"" class=""stippel"" style=""white-space: wrap;max-width:300px"">Christchurch </td>
             </tr>";

var htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(html);

var node = htmlDoc.SelectSingleNode("//td[@class='stippel']");
Console.WriteLine(node.InnerHtml);
使用HtmlAgilityPack;//这是一个nuget包!
var html=@”
办公室:
克赖斯特彻奇
";
var htmlDoc=新的HtmlDocument();
htmlDoc.LoadHtml(html);
var node=htmlDoc.SelectSingleNode(//td[@class='stippel']);
Console.WriteLine(node.InnerHtml);

我还没有测试过这段代码,但它应该可以满足您的需要。

您考虑过改用HTMLAgilityPack吗?它是一个用于处理HTML的Nuget包,能够很好地处理格式错误的HTML。大多数堆栈溢出建议不要使用Regex for HTML-请参阅此处:

以下是您在示例中的做法:

using HtmlAgilityPack; //This is a nuget package!
var html = @"<tr >
               <td align=""right"" valign=""top""><strong>Office:</strong>&nbsp; </td>
               <td align=""left"" class=""stippel"" style=""white-space: wrap;max-width:300px"">Christchurch </td>
             </tr>";

var htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(html);

var node = htmlDoc.SelectSingleNode("//td[@class='stippel']");
Console.WriteLine(node.InnerHtml);
使用HtmlAgilityPack;//这是一个nuget包!
var html=@”
办公室:
克赖斯特彻奇
";
var htmlDoc=新的HtmlDocument();
htmlDoc.LoadHtml(html);
var node=htmlDoc.SelectSingleNode(//td[@class='stippel']);
Console.WriteLine(node.InnerHtml);

我还没有测试过这段代码,但它应该满足您的需要。

我想您需要这样的东西:

office.*\n.*|(?<=300px">).*(?=<\/td)

office.*\n.*

office.*\n.*|(?<=300px">).*(?=<\/td)

office.*\n.*

office.*\n.*|(?<=300px">).*(?=<\/td)

office.*\n.*

office.*\n.*|(?<=300px">).*(?=<\/td)

office.*\n.*.|(?多亏了adamdc78和greg的帖子,我才能够想出下面的正则表达式。这正是我所需要的

谢谢你的帮助

(?<=office.*\n.*300px">).*(?=<\/td)

(?多亏了adamdc78和greg的帖子,我才能够想出下面的正则表达式。这正是我所需要的

谢谢你的帮助

(?<=office.*\n.*300px">).*(?=<\/td)

(?多亏了adamdc78和greg的帖子,我才能够想出下面的正则表达式。这正是我所需要的

谢谢你的帮助

(?<=office.*\n.*300px">).*(?=<\/td)

(?多亏了adamdc78和greg的帖子,我才能够想出下面的正则表达式。这正是我所需要的

谢谢你的帮助

(?<=office.*\n.*300px">).*(?=<\/td)


(?这样做的好处是,您可能可以查找包含类的标记并提取其值。这样做的好处是,您可能可以查找包含类的标记并提取其值。这样做的好处是,您可能可以查找包含类的标记并提取其值。a这样做的好处是,您可能可以查找包含类的标记,然后只提取其值。这不会有帮助。正如在文章中提到的,regex的(?仍然不是我想要的。修订后的正则表达式返回从Office到的所有内容。我包含了一个指向我正在使用的html代码截图的链接。我无法附加图片,因为我的rep太低。它将匹配所有内容,但第一组将是你想要的。这不会有帮助。正如帖子中提到的,正则表达式(?仍然不完全是我想要的。修订后的正则表达式返回从Office到的所有内容。我包含了一个指向我正在使用的html代码的屏幕截图的链接。我无法附加图片,因为我的代表级别太低。它将匹配所有内容,但第一组将是您想要的。这就是