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> </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> </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> </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> </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代码的屏幕截图的链接。我无法附加图片,因为我的代表级别太低。它将匹配所有内容,但第一组将是您想要的。这就是