正则表达式 匹配两个字符串之间的内容 去掉不想要的内容

yuye120 2011-09-15 10:43:59
求正则表达式 匹配get:和return 0之间的内容,去掉00000000:到000000e0:的类型的字符串
get:
00000000: 2d 2d 2d 2d 2d 42 45 47 49 4e 20 50 55 42 4c 49
00000010: 43 20 4b 45 59 2d 2d 2d 2d 2d 5c 6e 4d 49 49 42
00000020: 74 6a 43 43 41 53 73 47 42 79 71 47 53 4d 34 34
00000030: 42 41 45 77 67 67 45 65 41 6f 47 42 41 50 4c 79
00000040: 6d 41 45 4d 37 63 69 37 6b 6e 52 38 41 52 63 4b
00000050: 67 78 48 6c 2f 4b 76 4f 50 52 42 42 5c 6e 5a 56
00000060: 34 48 78 5a 44 67 64 57 34 77 65 51 56 34 6e 5a
00000070: 5a 32 39 50 61 7a 4c 73 33 4e 43 59 39 77 74 65
00000080: 77 33 68 77 5a 35 4d 7a 71 33 6f 43 54 4c 57 6a
00000090: 63 66 6d 69 6f 58 57 62 5a 43 55 31 33 72 5c 6e
000000a0: 36 72 4c 43 2b 4c 49 68 31 79 30 63 6d 46 7a 62
000000b0: 44 73 41 46 72 45 65 5a 46 30 2f 42 2f 70 41 75
000000c0: 66 4b 49 54 5a 4c 75 65 44 67 53 66 4b 70 31 4e
000000d0: 4e 6b 4b 63 57 4e 37 62 6b 38 54 4f 4f 62 31 44
000000e0: 5c 6e 58 51 48 73 34 42 31 51 77 6f 31 4a 41 68
return 0
...全文
1028 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xbkenshin 2011-09-21
  • 打赏
  • 举报
回复
无聊写了个不用正则的处理:

Dim Result As String = yourStr

For i As Integer = 0 To yourStr.Length

i = Result.IndexOf(":")

If i <> -1 Then
Result = Result.Replace(Result.Substring(i - 8, 9), "")
Else
Exit For
End If
Next
兔子-顾问 2011-09-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yuye120 的回复:]

引用 2 楼 wuyazhe 的回复:
VB.NET code
Dim yourStr as String = "你那一堆"
Dim Result as String = Regex.Replace(yourStr,"(?m:^)(?i)[\da-f]+:","")


我用你的睁着表达式获得的是我不想要的00000000:到000000e0:的类型的字符串。
跟我想要的正好相反
……
[/Quote]

你是不是只用正则表达式去验证了?看清楚我给你写的了么?Replace,吧匹配到你要的一堆,替换为"",剩下的不是你要的?你测试过没有?
遥望那些年 2011-09-16
  • 打赏
  • 举报
回复

Dim str as String = "你那一堆"
Dim reg As Regex = New Regex("(\s+[\da-f]{2})+")

For Each m As Match In reg.Matches(str)
Console.WriteLine(m.Value)
Next
yuye120 2011-09-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wuyazhe 的回复:]
VB.NET code
Dim yourStr as String = "你那一堆"
Dim Result as String = Regex.Replace(yourStr,"(?m:^)(?i)[\da-f]+:","")
[/Quote]

我用你的睁着表达式获得的是我不想要的00000000:到000000e0:的类型的字符串。
跟我想要的正好相反
yuye120 2011-09-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 iwd7353099 的回复:]
弱弱的问一句,你想要得到的最后效果是不是要这样.
是不是要把每一行前面9位或是10位(带冒号后面那个空格)..

2d 2d 2d 2d 2d 42 45 47 49 4e 20 50 55 42 4c 49
43 20 4b 45 59 2d 2d 2d 2d 2d 5c 6e 4d 49 49 42
74 6a 43 43 41 53 73 47 42 79 71 47……
[/Quote]

是的大就是我想要的
兔子-顾问 2011-09-15
  • 打赏
  • 举报
回复
Dim yourStr as String = "你那一堆"
Dim Result as String = Regex.Replace(yourStr,"(?m:^)(?i)[\da-f]+:","")
颓废的无房户 2011-09-15
  • 打赏
  • 举报
回复
弱弱的问一句,你想要得到的最后效果是不是要这样.
是不是要把每一行前面9位或是10位(带冒号后面那个空格)..

2d 2d 2d 2d 2d 42 45 47 49 4e 20 50 55 42 4c 49
43 20 4b 45 59 2d 2d 2d 2d 2d 5c 6e 4d 49 49 42
74 6a 43 43 41 53 73 47 42 79 71 47 53 4d 34 34
42 41 45 77 67 67 45 65 41 6f 47 42 41 50 4c 79
6d 41 45 4d 37 63 69 37 6b 6e 52 38 41 52 63 4b
67 78 48 6c 2f 4b 76 4f 50 52 42 42 5c 6e 5a 56
34 48 78 5a 44 67 64 57 34 77 65 51 56 34 6e 5a
5a 32 39 50 61 7a 4c 73 33 4e 43 59 39 77 74 65
77 33 68 77 5a 35 4d 7a 71 33 6f 43 54 4c 57 6a
63 66 6d 69 6f 58 57 62 5a 43 55 31 33 72 5c 6e
36 72 4c 43 2b 4c 49 68 31 79 30 63 6d 46 7a 62
44 73 41 46 72 45 65 5a 46 30 2f 42 2f 70 41 75
66 4b 49 54 5a 4c 75 65 44 67 53 66 4b 70 31 4e
4e 6b 4b 63 57 4e 37 62 6b 38 54 4f 4f 62 31 44
5c 6e 58 51 48 73 34 42 31 51 77 6f 31 4a 41 68

先帮顶

16,556

社区成员

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

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