游戏开发论坛

 找回密码
 立即注册
搜索
查看: 10809|回复: 36

(转)vb中使用正则表达式

[复制链接]

187

主题

6490

帖子

6491

积分

论坛元老

团长

Rank: 8Rank: 8

积分
6491
发表于 2006-11-5 18:49:00 | 显示全部楼层 |阅读模式
1. 启动 Microsoft Visual Basic 6.0。
2. 在“文件”菜单上,单击“新建项目”。
3. 在“新建项目”对话框中,单击“Standard Exe”,然后单击“确定”。

默认情况下将创建 Form1。
4. 在“项目”菜单上单击“引用”。
5. 双击“Microsoft VBScript Regular Expressions 5.5”,然后单击“确定”。
6. 在工具箱中,双击“命令按钮”。

默认情况下,“Command1”将添加到窗体中。
7. 双击“Command1”以打开代码窗口。
8. 将下面的代码粘贴到“Command1_Click”事件处理程序:MsgBox(TestRegExp("is.", "IS1 is2 IS3 is4"))
注意 这个示例中将对照“IS1 is2 IS3 is4”字符串检查 is. 模式。您可以将句点这一特殊字符(.)用作通配符,这样,搜索模式就能够多匹配并多显示一个字符。如果您在搜索模式中添加两个句点,您会看到两个其他字符。如果您不使用任何句点,您只会看到搜索模式。
9. 将以下函数添加到“Command1_click”事件处理程序后:Function TestRegExp(myPattern As String, myString As String)
   ''Create objects.
   Dim objRegExp As RegExp
   Dim objMatch As Match
   Dim colMatches   As MatchCollection
   Dim RetStr As String

   '' Create a regular expression object.
   Set objRegExp = New RegExp

   ''Set the pattern by using the Pattern property.
   objRegExp.Pattern = myPattern

   '' Set Case Insensitivity.
   objRegExp.IgnoreCase = True

   ''Set global applicability.
   objRegExp.Global = True

   ''Test whether the String can be compared.
   If (objRegExp.Test(myString) = True) Then

   ''Get the matches.
    Set colMatches = objRegExp.Execute(myString)   '' Execute search.

    For Each objMatch In colMatches   '' Iterate Matches collection.
      RetStr = RetStr & "Match found at position "
      RetStr = RetStr & objMatch.FirstIndex & ". Match Value is ''"
      RetStr = RetStr & objMatch.Value & "''." & vbCrLf
    Next
   Else
    RetStr = "String Matching Failed"
   End If
   TestRegExp = RetStr
End Function

10. 在“运行”菜单上,单击“启动”来运行该应用程序。
11. 单击“Command1”。

此时将出现一个消息框,该消息显示 IS1 is2 IS3 is4 字符串中的所有 is 匹配项。

270

主题

6442

帖子

6446

积分

论坛元老

Rank: 8Rank: 8

积分
6446
发表于 2006-11-5 19:54:00 | 显示全部楼层

Re:(转)vb中使用正则表达式

你把你最近贴的代码组合成一个游戏那你就厉害了,贴这些只会浪费资源。

22

主题

371

帖子

387

积分

中级会员

Rank: 3Rank: 3

积分
387
发表于 2006-11-5 20:50:00 | 显示全部楼层

Re:(转)vb中使用正则表达式

正则表达式实在太难了,看MSDN和教程看了半天,有看没有掌握...
看会了到实际运用大概也还有距离...

15

主题

2093

帖子

2093

积分

金牌会员

Rank: 6Rank: 6

积分
2093
发表于 2006-11-5 21:57:00 | 显示全部楼层

Re:(转)vb中使用正则表达式

正则表达式在游戏里有什么作用?

270

主题

6442

帖子

6446

积分

论坛元老

Rank: 8Rank: 8

积分
6446
发表于 2006-11-5 21:58:00 | 显示全部楼层

Re: Re:(转)vb中使用正则表达式

psic: Re:(转)vb中使用正则表达式

正则表达式在游戏里有什么作用?


你问谁呀? [em2]

15

主题

2093

帖子

2093

积分

金牌会员

Rank: 6Rank: 6

积分
2093
发表于 2006-11-5 22:08:00 | 显示全部楼层

Re: Re: Re:(转)vb中使用正则表达式

游戏之家站长: Re: Re:(转)vb中使用正则表达式



你问谁呀? [em2]


没问谁,只是提问,谁都可以回答啊

270

主题

6442

帖子

6446

积分

论坛元老

Rank: 8Rank: 8

积分
6446
发表于 2006-11-5 22:23:00 | 显示全部楼层

Re:(转)vb中使用正则表达式

MsgBox是什么?我游戏里从来也不用这个,幼稚!

15

主题

2093

帖子

2093

积分

金牌会员

Rank: 6Rank: 6

积分
2093
发表于 2006-11-5 22:35:00 | 显示全部楼层

Re: Re:(转)vb中使用正则表达式

游戏之家站长: Re:(转)vb中使用正则表达式

MsgBox是什么?我游戏里从来也不用这个,幼稚!

游戏里本来就不需要用这个,这一点你做得很好

270

主题

6442

帖子

6446

积分

论坛元老

Rank: 8Rank: 8

积分
6446
发表于 2006-11-5 23:03:00 | 显示全部楼层

Re: Re: Re:(转)vb中使用正则表达式

psic: Re: Re:(转)vb中使用正则表达式


游戏里本来就不需要用这个,这一点你做得很好


好象牌类游戏有用,不过那种人工智能那么高的游戏不是你们写的出的,
要代码我可以给你。

15

主题

2093

帖子

2093

积分

金牌会员

Rank: 6Rank: 6

积分
2093
发表于 2006-11-5 23:52:00 | 显示全部楼层

Re: Re: Re: Re:(转)vb中使用正则表达式

游戏之家站长: Re: Re: Re:(转)vb中使用正则表达式



好象牌类游戏有用,不过那种人工智能那么高的游戏不是你们写的出的,
要代码我可以给你。


牌类那种人工智能算什么,随机数才是最强的……
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 00:49

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表