繁体   English   中英

VB.Net正则表达式随机字符串

[英]VB.Net regex random string

我有正则表达式代码,从TextBox1获取2个字符串之间的字符串。

TextBox1看起来像这样:

href="www.example.com/account/05798/john123">
href="www.example.com/account/4970/max16">
href="www.example.com/account/96577/killer007">
href="www.example.com/account/3077/hackerboy1337">
href="www.example.com/account/43210/king42">

因此,它将从href="www.example.com/account/4321/"> (用户名)获得价值


问题是,该怎么办? 我的正则表达式代码:

(?<="href=""www.example.com/account/RANDOM_STRING/")(.*?)(?="">)

我知道我可以用\\w{4}替换RANDOM_STRING ,但有些ID是5位数。

或者另一种选择是这样做

 Dim strOne As String = "www.example.com/account/43210/king42"
 Dim strMain As String = Split(strOne, "/account/")(1)
 Dim strSubOne As String = Split(strMain, "/")(0)
 Dim strSubTwo As String = Split(strMain, "/")(1)

你需要一个否定的字符类[^/]来匹配任何字符而不是/ 所以,用[^/]*替换RANDOM_STRING

此外,在正则表达式模式中,匹配. ,你需要逃避点 - \\.

因此,您的正则表达式可以固定为

(?<="href=""www\.example\.com/account/[^/]*/").*?(?="">)

但是,您可以使用捕获组来使用更简单的正则表达式:

"href=""www\.example\.com/account/[^/]*/"(.*?)"">

您需要的值是Match.Groups(1).Value

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM