正则表达式在 vb6 中的用法

2023-12-23

我需要验证一个字符串,该字符串可能包含字母数字以及特殊字符,因为我必须传递仅包含字母字符的字符串(不允许使用数字或任何其他特殊字符)

在当前的方法中,我使用 ASCII 数字来评估每个字符是否为字母。是否有其他有效的方法来发现字符串中是否存在特殊字符或数字?就像我们不能使用Like还是要检查一次而不是逐个字符地检查?

For y = 2 To Len(sString)
    If Not ((Asc(Mid$((sString,y,1))>64 AND Asc(Mid$((sString,y,1))<91) OR _
    (Asc(Mid$((sString,y,1))>96 AND Asc(Mid$((sString,y,1))<123)) Then
        //Display an error msg
        Exit For
    End If
Next y

您可以在 VB6 中使用正则表达式。您必须将对“Microsoft VBScript Regular Expressions 5.5”库的引用添加到您的项目中。然后您可以使用以下内容:

Dim rex As RegExp
Set rex = New RegExp
rex.Pattern = "[^a-zA-Z]"
If rex.Test(s) Then
    ' Display error message
End If

当我最初回答这个问题时,它被标记为VB.NET;供将来参考,我原来的基于.Net的答案保留在下面

正如您所想,这可以使用正则表达式来完成(不要忘记Imports System.Text.RegularExpressions:

If Regex.IsMatch(s, "[^a-zA-Z]") Then
    ' Display error msg
End If

另外,原始代码读起来像 VB6 代码,而不是 VB.NET。这是编写原始非正则表达式代码的更易读的方法:

For Each ch As Char In someString
    If Not (ch >= "a"c AndAlso ch <= "z"c OrElse ch >= "A"c AndAlso ch <= "Z"c) Then
        ' Display error msg
        Exit For
    End If
Next
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式在 vb6 中的用法 的相关文章

随机推荐

  • Analytics.js 的 SegmentIO 开源版本设置问题

    我正在从 SegmentIO 切换到他们的开源版本 我用过这个博客文章 http pivotallabs com how to use analytics js to fix your analytics code and achieve
  • Lightsail 中没有 Amazon Linux 2?

    尝试在 AWS Lightsail 上创建新实例时 只有适用于 AWS Linux 2018 03 0 的选项 而没有适用于 AWS Linux 2 的选项 鉴于 AWS Linux 将于 2020 年 12 月终止支持 我有点担心在 Li
  • 在 Docker 中运行 Jenkins - 立即退出

    我正在尝试使用 docker 运行 Jenkins 服务器 我已经构建了图像 并尝试使用以下命令运行它 docker run p 8080 8080 62a4e44bf4bf 62a4e44bf4bf 是 docker 镜像 ID 每当我运
  • SQL Server Reporting Services url 参数不起作用

    我无法正确地将参数传递到 SQL Server 报告服务器 显示报表页面 但报表查看器 Web 部件的参数提示仍然为空 并且没有运行任何内容 以下网址将我带到正确的报告页面 我可以在其中手动选择参数 然后单击 查看报告 按钮并获取报告 ht
  • localStorage 的设置值有副作用吗?

    我正在开发一个必须保存的 React Redux 应用程序certain值从商店到localStorage 我有一些实用功能 可以安全地将值存储到localStorage 我有一个动作 thunk 和减速器 const wallet sta
  • Express.js 项目中在哪里进行验证 – 数据库层验证(re. Mongoose)?

    我正在 Express js 中编写一个带有表单的应用程序 首先 我在路由 或控制器 如果您愿意的话 中进行所有验证 app post register function req res next Generic validation re
  • Cordova / Phonegap 所有外部 Ajax 请求返回 404

    我确实有一个 Cordova 3 3 应用程序 但昨天我将 cordova 和所有应用程序插件更新为 apache cordova v5 0 自从我这样做以来 我放置了一个闪屏插件并毫无问题地构建了我的应用程序 但是当我尝试测试时 我看到所
  • HTML5 Canvas 绘制像素的颜色与提供的颜色不同

    设置某种颜色后fillStyle画布并绘制一个矩形fillRect 矩形的颜色有时与提供的颜色略有不同 getImageData返回不同的值 通常其中一个值小 1 似乎只有在使用时才会发生rgba颜色 而不是与rgb 但我实际上确实需要使用
  • JBoss 5 上的 RESTEasy - 需要 jar

    我们正在运行 JBoss 5 1 0 我正在尝试使用 RESTEasy 启动并运行一个简单的测试应用程序 但是 我无法弄清楚我需要什么才能做到这一点 显然新版本的 JBoss 已经包含了所有内容 但这对我没有帮助 据我了解 我需要修改应用程
  • 如何使用宏将字符串转换为变量名?

    define TRACE arg1 char arg1 int main void int a 4 TRACE Hello a convert Hello to a valid char variable name return 0 我在转
  • BeautifulSoup:获取特定表的内容

    我当地的机场 http www iaa gov il Rashat he IL Airports BenGurion informationForTravelers OnlineFlights aspx flightsType arr可耻地
  • 重新编译 Heroku slug,无需推送或更改配置

    我想知道是否有一种方法可以强制 Heroku 重新编译 slug 而不需要推送新的提交和 或更新配置变量 我为什么要这样做 我在 Heroku 上使用 Cedar 堆栈作为 Rails 3 2 应用程序 但在使用时遇到问题rake asse
  • 加载 Keras 模型时未知的初始化程序:GlorotUniform

    我通过 google colab 训练了我的 CNN VGG 并生成了 h5 文件 现在的问题是 我可以通过 google colab 成功预测我的输出 但是当我下载 h5 训练模型文件并尝试在我的笔记本电脑上预测输出时 我在加载模型时遇到
  • 尽管安装成功但无法识别节点

    我试着跑nodejs在全新安装的Windows 7的 这就是我所做的 使用 Windows 安装程序安装节点 确保文件被提取到C Program Files x86 nodejs 确保我的 Path 环境变量包含C Program File
  • Apache C++ 模块持久全局对象

    我希望在 Apache C 模块中保持一些全局对象在 Apache 子进程调用中保持不变 我该怎么做呢 您必须使用 Apache 进程外部的某种形式的存储 基本选择 一个数据库 共享内存 取决于操作系统 另一个进程并使用IPC机制 例如套接
  • Google Calendar API - 只能更新事件一次

    我遇到了与这篇文章中描述的相同的问题 Google Calendar api v3 重新更新问题 https stackoverflow com questions 8574088 google calendar api v3 re upd
  • 将私有方法公开以对其进行单元测试...好主意吗?

    Moderator Note There are already 39 answers posted here some have been deleted Before you post your answer consider whet
  • Rstudio 的“在文件中查找”有 R 版本吗?

    我喜欢 Rstudio 的 在文件中查找 功能 您可以在指定目录中的所有文件中搜索文本 但我讨厌指定要搜索的目录和文件类型的方式 您必须单击并指向 呃 有谁知道在 R 控制台中执行此操作的简单方法 fif lt function what
  • Blazor 中的 SendGrid 电子邮件服务 - 依赖注入或静态方法

    我正在 Blazor 应用程序 NET 5 中设置 SendGrid 电子邮件发送器 根据 SendGrid 文档和示例 他们正在编写一个签名为的方法static async Task然后他们await来自他们的 API 的响应 他们的示例
  • 正则表达式在 vb6 中的用法

    我需要验证一个字符串 该字符串可能包含字母数字以及特殊字符 因为我必须传递仅包含字母字符的字符串 不允许使用数字或任何其他特殊字符 在当前的方法中 我使用 ASCII 数字来评估每个字符是否为字母 是否有其他有效的方法来发现字符串中是否存在