vb.net正则表达式以获取到期账单的日期

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb.net正则表达式以获取到期账单的日期相关的知识,希望对你有一定的参考价值。

我不熟悉正则表达式,如何将此html视图页面源转换为正则表达式

"Your next bill is for <b class=\"recurring-price\">\u00a39.99<\/b> on <b class=\"recurring-date\">27\/01\/2020<\/b>."

因为我想获取帐单的到期日期

这是我在vb.net中的代码

Dim overview As String = req.Post("https://www.sample.com/uk/account/overview/").ToString()
Dim pay As Match = Regex.Match(overview, "capture of expiration billing from regex")
TextBox1.Text = "Your next bill: " & pay.Groups(1).Value
答案

最好不要使用RegEx来解析HTML。您最终将追尾并拔出头发。

改为使用HTML Agility Pack。您可以找到NuGet软件包here

-EDIT-

这里是一个例子:

Public Sub Agility()
  Dim oDocument As New HtmlDocument
  Dim oResult As IEnumerable(Of HtmlNode)
  Dim dDate As Date

  oDocument.LoadHtml("<html><body>Your next bill is for <b class='recurring-price'>39.99</b> on <b class='recurring-date'>01/01/2020</b></body></html>")
  oResult = oDocument.DocumentNode.Descendants("b").Where(Function(Node) Node.HasClass("recurring-date"))

  If Date.TryParse(oResult.First.InnerText, dDate) Then
    ' Prints 1/1/2020 12:00:00 AM
    Console.WriteLine(dDate)
  End If

  Console.ReadKey()
End Sub

您可以找到更多here

以上是关于vb.net正则表达式以获取到期账单的日期的主要内容,如果未能解决你的问题,请参考以下文章

用于验证日期的正则表达式 [重复]

带有熊猫的日期正则表达式过滤器不起作用

信用卡到期的正则表达式

VB.NET - 正则表达式来搜索特定格式的标签

如何使用正则表达式匹配从 xml 文件中搜索和替换包含占位符标记的文本。 VB.net 或 C#

使用宏删除 VB.NET 代码中的所有注释和空行的 Visual Studio 正则表达式