我在下面发布了我的HTML。我想从我的文本框区域中获取名称值。我已经尝试了几个流程,但我还没有得到任何有效的解决方案。请检查我的HTML和代码段,并向我展示一个可能的解决方案。
刷新页面时,名称前缀始终保持不变。但是,"名称中的姓氏"区域将改变,但将始终包含文字"先生"作为前3位数。正则表达式为([mM] r。\) - 如果考虑文字空间,则为四位数。以下是我的表格示例。
<table>
<tr><td><b>Your Name is </b> mr. kamrul</td></tr>
<tr><td><b>your age </b> 12</td></tr>
<tr><td><b>Email:</b>kennethdasma30@gmail.com</td></tr>
<tr><td><b>job title</b> sales man</td></tr>
</table>
如下所示,我正在使用列表框尝试此过程,但我没有收到任何内容。
HtmlElementCollection bColl =
webBrowser1.Document.GetElementsByTagName("table");
foreach (HtmlElement bEl in bColl)
{
if (bEl.GetAttribute("table") != null)
{
listBox1.Items.Add(bEl.GetAttribute("table"));
}
}
如果有人可以让我知道我如何能够在浏览器窗口中收到所有内容(&#34;先生&#34; +文本),我会很感激。此外,如果您能够详细解释答案并提出好的评论,我将不胜感激,因为我也想更详细地理解答案。
答案 0 :(得分:0)
这是使用正则表达式的一种简单方法,假设您的html页面的格式没有变化。
Regex re = new Regex(@"(?<=<tr><td><b>Your\sName\sis\s?</b>\s?)[mM]r\.\s.+?(?=</td></tr>)", RegexOptions.Singleline);
foreach (Match match in re.Matches(webBrowser1.DocumentText))
{
listBox1.Items.Add(match.Value);
}