vb.net 截取指定数据问题。求助!!!

weixin_36528687 2018-09-20 11:21:02
数据是这样的,
Module Module2
Public w As String
Sub Main()
Dim str As String = Form1.prompt.Text
Dim reg As New Regex("Found valid key:\[ffffffffffff\][\d\D]*?--sector:(\d+)")
Dim m As Match = reg.Match(str)
If m.Success Then
w = m.Groups(1).ToString

End If
End Sub

End Module
请问这个正则表达式里的输出的w是什么数据啊 是 Found valid key:[ffffffffffff] 下面--sector后面的数字吗?或者就是只想取得Found valid key:[ffffffffffff] 下面--sector:后面的数字 有什么简单的方法吗 求个代码,谢谢各位啦
...全文
1138 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_43253735 2018-09-21
  • 打赏
  • 举报
回复
啊啊的市场上的城市
luzheng9712 2018-09-21
  • 打赏
  • 举报
回复
正则的取值代码也没有问题啊 怎么会没有值呢
X-i-n 2018-09-20
  • 打赏
  • 举报
回复
Regex("Found valid key:\[ffffffffffff\][\d\D]*?--sector(\d+)") 看看是不是这的问题,这个正则没问题,还得检查空格的位置、数量对不对 也可以用 Regex("Found valid key:\[ffffffffffff\].*?--sector: (\d+)",RegexOptions.SingleLine) 也可以分割字符串 Split(xxxx, "Found valid")(1).Split(": ")(1).Split(",")(0),但需要考虑下标越界的情况。
weixin_36528687 2018-09-20
  • 打赏
  • 举报
回复
正则的取值代码也没有问题啊 怎么会没有值呢
weixin_36528687 2018-09-20
  • 打赏
  • 举报
回复
https://bbs.csdn.net/topics/392451283 我又发了一个帖子 您去看一下 有代码 分数都给你 实在整不明白了
X-i-n 2018-09-20
  • 打赏
  • 举报
回复
没能成功赋值或者作用域不对,没看到代码,看不出问题
weixin_36528687 2018-09-20
  • 打赏
  • 举报
回复
我把 c 定义成了全局变量 后面用的时候 没有c 的值
X-i-n 2018-09-20
  • 打赏
  • 举报
回复
对,但是要确保取值之前确实赋过值。或者干脆把c封装成一个公共方法吧,省事点。
weixin_36528687 2018-09-20
  • 打赏
  • 举报
回复
Module Module1
    Public w As String
 
End Module
这样吗 在写一个module
weixin_36528687 2018-09-20
  • 打赏
  • 举报
回复
Module Module2
    Public c As String
    Sub Main()
        Dim str As String = Form1.prompt.Text
       ' Dim reg As New Regex("Found valid key:\[ffffffffffff\][\d\D]*?--sector:(\d+)")
        Dim reg As New Regex("Found valid key:\[ffffffffffff\][\d\D]*?--sector:\s*(\d+)")

        Dim m As Match = reg.Match(str)
        If m.Success Then
            c = m.Groups(1).ToString

        End If
    End Sub

End Module
[code=vb]
Case "button_break" item.Control = New Button item.Control.Text = item.Text ToolTip1.SetToolTip(item.Control, item.Tooltip) 'AddHandler item.Control.Click, AddressOf block_num 'AddHandler item.Control.Click, AddressOf strFind AddHandler item.Control.Click, AddressOf strFind2 AddHandler item.Control.Click, AddressOf actionCommand Dim sector As String = strFind() Dim key As String = strFind2() Dim strTemp As String = "hf mf nested 1 " item.Action = String.Concat(strTemp, c, " ", key, " FFFFFFFFFFFF d") item.Control.Tag = item.Action item.Control.SetBounds(0, i * 35, 140, 20) item.Control.AutoSize = True 我把c定义成全局变量 在后面就可以直接引用了是吧
X-i-n 2018-09-20
  • 打赏
  • 举报
回复
If m.Success Then
            w = m.Groups(1).ToString
             '在这儿也加一句
            System.IO.File.AppendAlltext("C:\out.txt",m.Value)
        End If
X-i-n 2018-09-20
  • 打赏
  • 举报
回复
Dim str As String = Form1.prompt.Text
'后面再加一句,运行以后打开 C:\out.txt搜一下
System.IO.File.WriteAllText("C:\out.txt",str)
weixin_36528687 2018-09-20
  • 打赏
  • 举报
回复
还是64 这个64不知道是哪里来的
X-i-n 2018-09-20
  • 打赏
  • 举报
回复
按我说的修正以后应该就是3啊
weixin_36528687 2018-09-20
  • 打赏
  • 举报
回复
期望得到的数据是 3
 --sector: 0, block:  3, key type:A, key count:13           
--sector: 1, block:  7, key type:A, key count:13           
--sector: 2, block: 11, key type:A, key count:13           
Found valid key:[ffffffffffff]          
--sector: 3, block: 15, key type:A, key count:13 
第一次出现的Found valid key:[ffffffffffff] 下面的--sector:后面的数字就可以了
X-i-n 2018-09-20
  • 打赏
  • 举报
回复
期望结果是什么?你这个正则除了会漏掉 1位数字的情况(引号后面会多一个空格),别的情景下面都没有问题。要修正1位数字的BUG,可以把正则表达式改为 "Found valid key:\[ffffffffffff\][\d\D]*?--sector:\s*(\d+)"
weixin_36528687 2018-09-20
  • 打赏
  • 举报
回复
只要获得一个就可以了
X-i-n 2018-09-20
  • 打赏
  • 举报
回复
而且你的结果里不止一条记录,如果你想找所有符合条件的记录,需要用Matches来获取一个MatchCollection,而非Match方法获取单条结果
X-i-n 2018-09-20
  • 打赏
  • 举报
回复
把文本贴上来,还有使用的正则。
weixin_36528687 2018-09-20
  • 打赏
  • 举报
回复
No key specified, trying default keys          
chk default key[ 0] ffffffffffff          
chk default key[ 1] 000000000000          
chk default key[ 2] a0a1a2a3a4a5          
chk default key[ 3] b0b1b2b3b4b5          
chk default key[ 4] aabbccddeeff          
chk default key[ 5] 4d3a99c351dd          
chk default key[ 6] 1a982c7e459a          
chk default key[ 7] d3f7d3f7d3f7          
chk default key[ 8] 714c5c886e97          
chk default key[ 9] 587ee5f9350f          
chk default key[10] a0478cc39091          
chk default key[11] 533cb6c723f6          
chk default key[12] 8fd0a4f256e9          
--sector: 0, block:  3, key type:A, key count:13           
--sector: 1, block:  7, key type:A, key count:13           
--sector: 2, block: 11, key type:A, key count:13           
Found valid key:[ffffffffffff]          
--sector: 3, block: 15, key type:A, key count:13           
Found valid key:[ffffffffffff]          
--sector: 4, block: 19, key type:A, key count:13           
Found valid key:[ffffffffffff]          
--sector: 5, block: 23, key type:A, key count:13           
Found valid key:[ffffffffffff]          
--sector: 6, block: 27, key type:A, key count:13           
Found valid key:[ffffffffffff]          
--sector: 7, block: 31, key type:A, key count:13           
Found valid key:[ffffffffffff]          
--sector: 8, block: 35, key type:A, key count:13           
Found valid key:[ffffffffffff]          
--sector: 9, block: 39, key type:A, key count:13           
Found valid key:[ffffffffffff]          
--sector:10, block: 43, key type:A, key count:13           
Found valid key:[ffffffffffff]          
--sector:11, block: 47, key type:A, key count:13           
Found valid key:[ffffffffffff]          
--sector:12, block: 51, key type:A, key count:13           
Found valid key:[ffffffffffff]          
--sector:13, block: 55, key type:A, key count:13           
Found valid key:[ffffffffffff]          
--sector:14, block: 59, key type:A, key count:13           
Found valid key:[ffffffffffff]          
--sector:15, block: 63, key type:A, key count:13           
Found valid key:[ffffffffffff]          
--sector: 0, block:  3, key type:B, key count:13           
--sector: 1, block:  7, key type:B, key count:13           
--sector: 2, block: 11, key type:B, key count:13           
Found valid key:[ffffffffffff]          
--sector: 3, block: 15, key type:B, key count:13           
Found valid key:[ffffffffffff]          
--sector: 4, block: 19, key type:B, key count:13           
Found valid key:[ffffffffffff]          
--sector: 5, block: 23, key type:B, key count:13           
Found valid key:[ffffffffffff]          
--sector: 6, block: 27, key type:B, key count:13           
Found valid key:[ffffffffffff]          
--sector: 7, block: 31, key type:B, key count:13           
Found valid key:[ffffffffffff]          
--sector: 8, block: 35, key type:B, key count:13           
Found valid key:[ffffffffffff]          
--sector: 9, block: 39, key type:B, key count:13           
Found valid key:[ffffffffffff]          
--sector:10, block: 43, key type:B, key count:13           
Found valid key:[ffffffffffff]          
--sector:11, block: 47, key type:B, key count:13           
Found valid key:[ffffffffffff]          
--sector:12, block: 51, key type:B, key count:13           
Found valid key:[ffffffffffff]          
--sector:13, block: 55, key type:B, key count:13           
Found valid key:[ffffffffffff]          
--sector:14, block: 59, key type:B, key count:13           
Found valid key:[ffffffffffff]          
--sector:15, block: 63, key type:B, key count:13           
Found valid key:[ffffffffffff]          
Found keys have been transferred to the emulator memory          
Module Module2
    Public w As String
    Sub Main()
        Dim str As String = Form1.prompt.Text
        Dim reg As New Regex("Found valid key:\[ffffffffffff\][\d\D]*?--sector:(\d+)")
        Dim m As Match = reg.Match(str)
        If m.Success Then
            w = m.Groups(1).ToString

        End If
    End Sub

End Module
麻烦您啦
加载更多回复(3)

16,556

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧