所以我有一个令牌,它看起来像asdkl3njkln1mlnmlaskjenr&email=example@gmail.com&asd345d&password=example&asd986asn
&email=example@gmail.com&
和&password=example&
之前/之后的字符串会在每次加载页面时不断变化。
我只需要用户将其用户名/密码输入到文本框中以检查订单状态/等。我如何从令牌中获取电子邮件地址和密码?
我在VB.NET中尝试的是:
Dim token As String = Regex.Match(htmlPage, "(?\<email=\)+user+(?=\\&\)").Groups(0).Value
但这似乎不起作用。
htmlpage
是具有订单状态的网站的登录页面,该订单状态是为Regex
在令牌中插入这些字符串而下载的。
答案 0 :(得分:0)
虽然最好的答案是使用查询解析器,但我想解释当前正则表达式的问题。重点是你过度逃避角色并使用了一个畸形的后视镜。
正确的正则表达式如下所示:(?<=email=)[^&]+(?=&)
以下是具有固定工作正则表达式的sample program:
Imports System.Text.RegularExpressions
Module VBModule
Sub Main()
Dim htmlPage As String = "asdkl3njkln1mlnmlaskjenr&email=example@gmail.com&asd345d&password=example&asd986asn"
Dim token As String = Regex.Match(htmlPage, "(?<=email=)[^&]+(?=&)").Value
Console.WriteLine(token)
End Sub
End Module
输出:example@gmail.com