度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 5111|回复: 16
打印 上一主题 下一主题

[分享] 在平台中使用正则表达式

[复制链接]

67

主题

685

帖子

1815

积分

作者

Rank: 7Rank: 7Rank: 7

积分
1815
跳转到指定楼层
楼主
发表于 2020-3-23 16:31:27 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
上平台中的代码:     '第一个参数是dll文件名,第二个参数是正则表达式的类名,第三个就是争着表达式的规则

    dim regex= LoadAssembly("System.dll","System.Text.RegularExpressions.Regex","^[0-9]*$")
    '参数是需要验证的字符串,返回结果为该字符串是否符合规则
    dim temp=regex.IsMatch("123"))

看到这个代码的时候大家可能已经明白了,其实是加载了System.dll的外部文件,这样有一个小问题就是,这个文件必须拷贝到客户端目录下,那么在平台中如果要使所有客户端都能使用,那就把System.dll文件放到客户端的自动更新目录下。
在说说System.dll文件哪里来的,这个就是.NET本来就有的,随便找台咱装了.NET的电脑拷贝出来就行了,一般实在:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll



在说说,为什么要这么麻烦,而不是直接就能使用正则表达式呢,下面就说说在平台中理论上是怎么操作的:
理论上在平台中只需要下面一句代码:
'第一个参数是验证字符串,第二个参数验证规则,直接返回验证结果
dim temp=System.Text.RegularExpressions.Regex.IsMatch("123", "^[0-9]*$")

但是这个目前还不能使用,等待平台后期版本也许会对这个处理,那么就可以直接使用System里面的这些函数,包括这个正则表达式。目前不能使用那就只有自己加载这个dll文件了。

管理员说明:
平台中是引用了System.Dll的。需要下面这种方法调用,就不需要把system.dll拷贝到客户端下。

dim regex=createObject("System.Text.RegularExpressions.Regex","^[0-9]*$")
dim temp=regex.IsMatch("123")
msgbox(temp)
已经更正。






分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

348

主题

3572

帖子

9325

积分

论坛元老

Rank: 8Rank: 8

积分
9325
17#
发表于 2020-3-28 23:01:12 | 只看该作者
lz很强大
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

67

主题

685

帖子

1815

积分

作者

Rank: 7Rank: 7Rank: 7

积分
1815
16#
 楼主| 发表于 2020-3-28 22:01:07 来自手机 | 只看该作者
这个确实复杂了,有更简单的,论坛里面有,手机回帖,辛苦,发不了了解,大家收索把
回复 支持 反对

使用道具 举报

78

主题

634

帖子

1598

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1598
15#
发表于 2020-3-27 23:26:37 | 只看该作者
新发现,可以采用CreateObject来创建对象。

dim regex=createObject("System.Text.RegularExpressions.Regex","^[0-9]*$")
dim temp=regex.IsMatch("123")
msgbox(temp)
回复 支持 反对

使用道具 举报

198

主题

1313

帖子

3784

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3784
14#
发表于 2020-3-27 19:40:34 | 只看该作者
平台中是引用了System.Dll的。需要这种方法调用,就不需要把system.dll拷贝到客户端下。
dim RegexObj = CreateObject("System.Text.RegularExpressions.Regex")
dim test = RegexObj.IsMatch("123", "^[0-9]*$")
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9325

积分

论坛元老

Rank: 8Rank: 8

积分
9325
13#
发表于 2020-3-26 22:18:04 | 只看该作者
这下能加的强字段的验证了
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

78

主题

634

帖子

1598

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1598
12#
发表于 2020-3-25 21:51:52 | 只看该作者
不错哈。能够把正则表达式引入进来,对于验证很有好处。
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9325

积分

论坛元老

Rank: 8Rank: 8

积分
9325
11#
发表于 2020-3-25 21:42:56 | 只看该作者
那个system.dll哪来的?
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

198

主题

1313

帖子

3784

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3784
10#
发表于 2020-3-25 09:44:49 | 只看该作者
能简单调用,肯定是最好的。
回复 支持 反对

使用道具 举报

198

主题

1313

帖子

3784

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3784
9#
发表于 2020-3-23 18:38:41 | 只看该作者
这个效果非常好,已经测试了几个。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-11-23 22:38 , Processed in 0.133474 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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