VBS教程:正则表达式简介 -字符匹配

字符匹配

句点 (.) 匹配一个字符串中任何单个的打印或非打印字符,除了换行符 (\n) 之外。下面的 Visual Basic Scripting Edition 正则表达式可以匹配 'aac'、'abc'、'acc'、'adc'如此等等,同样也可以匹配 'a1c'、'a2c'、a-c'以及 a#c':/a.c/

等价的 VBScript 正则表达式为:"a.c"

如果试图匹配一个包含文件名的字符串,其中句点 (.) 是输入字符串的一部分,则可以在正则表达式中的句点前面加上一个反斜杠 (\) 字符来实现这一要求。举例来说,下面的 Visual Basic Scripting Edition 正则表达式就能匹配 'filename.ext':/filename\.ext/

对 VBScript 而言,等价的表达式如下所示:"filename\.ext"

这些表达式仍然是相当有限的。它们只允许匹配任何单字符。很多情况下,对从列表中匹配特殊字符十分有用。例如,如果输入文字中包含用数字表示为Chapter 1, Chapter 2诸如此类的章节标题,你可能需要找到这些章节标题。

括号表达式

可以在一个方括号 ([ 和 ]) 中放入一个或多个单字符,来创建一个待匹配的列表。如果字符被放入括号中括起来,则该列表称为括号表达式。括号内和其他任何地方一样,普通字符代表其本身,也就是说,它们匹配输入文字中出现的一处自己。大多数特殊字符在位于括号表达式中时都将失去其含义。这里有一些例外:']' 字符如果不是第一项,则将结束一个列表。要在列表中匹配 ']' 字符,请将其放在第一项,紧跟在开始的 '[' 后面。

'\' 仍然作为转义符。要匹配 '\' 字符,请使用 '\\'。

括号表达式中所包含的字符只匹配该括号表达式在正则表达式中所处位置的一个单字符。下面的 Visual Basic Scripting Edition 正则表达式可以匹配 'Chapter 1'、'Chapter 2'、'Chapter 3'、'Chapter 4' 以及 'Chapter 5':/Chapter [12345]/

在 VBScript 中要匹配同样的章节标题,请使用下面的表达式:"Chapter [12345]"

请注意单词 'Chapter' 及后面的空格与括号内的字符的位置关系是固定的。因此,括号表达式只用来指定满足紧跟在单词 'Chapter' 和一个空格之后的单字符位置的字符集合。这里是第九个字符位置。

如果希望使用范围而不是字符本身来表示待匹配的字符,则可以使用连字符将该范围的开始和结束字符分开。每个字符的字符值将决定其在一个范围内的相对顺序。下面的 Visual Basic Scripting Edition 正则表达式包含了一个等价于上面所示的括号列表的范围表达式。/Chapter [1-5]/

VBScipt 中相同功能的表达式如下所示:"Chapter [1-5]"

如果以这种方式指定范围,则开始和结束值都包括在该范围内。有一点特别需要注意的是,在 Unicode 排序中起始值一定要在结束值之前。

如果想在括号表达式中包括连字符,则必须使用下述方法之一:使用反斜杠将其转义: [\-]

将连字符放在括号列表的开始和结束位置。下面的表达式能匹配所有的小写字母和连字符: [-a-z]

[a-z-]

创建一个范围,其中开始字符的值小于连字符,而结束字符的值等于或大于连字符。下面两个正则表达式都满足这一要求: [!--]

[!-~]

同样,通过在列表开始处放置一个插入符(^),就可以查找所有不在列表或范围中的字符。如果该插入符出现在列表的其他位置,则匹配其本身,没有任何特殊含义。下面的 Visual Basic Scripting Edition 正则表达式匹配章节号大于 5 的章节标题:/Chapter [^12345]/

对 VBScript 则使用:"Chapter [^12345]"

在上面所示的示例中,表达式将匹配第九个位置处除1, 2, 3, 4, or 5 之外的任何数字字符。因此, 'Chapter 7' 为一个匹配,同样 'Chapter 9' 也是如此。

上面的表达式可以使用连字符 (-) 表示。对 Visual Basic Scripting Edition 为:/Chapter [^1-5]/

或者,对 VBScript 为:"Chapter [^1-5]"

括号表达式的典型用法是指定对任何大写或小写字母字符或任何数字的匹配。下面的 Visual Basic Scripting Edition 表达式给出了这一匹配:/[A-Za-z0-9]/

等价的 VBScript 表达式为:"[A-Za-z0-9]"

vbs字符串正则_VBS教程:正则表达式简介 -字符匹配相关推荐

  1. vbs字符串正则_VBS正则表达式语法

    正则表达式语法 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式.该模式描述在查找文字主体时待匹配的一个或多个字符串.正则表达式作为一个模板,将某个字符模式 ...

  2. 本题要求实现一个函数,对给定的一个字符串和两个字符,打印出给定字符串中从与第一个字符匹配的位置开始到与第二个字符匹配的位置之间的所有字符

    本题要求实现一个函数,对给定的一个字符串和两个字符,打印出给定字符串中从与第一个字符匹配的位置开始到与第二个字符匹配的位置之间的所有字符 函数接口定义: char *match( char *s, c ...

  3. vbs字符串正则_VBscript中的正则表达式

    在VBscript中,正则表达式对象就是RegExp对象.RegExp对象有3个属性:Pattern属性,设置或返回被搜索的正则表达式模式. Global属性,指明在整个搜索字符串时模式是全部匹配还是 ...

  4. 三十二、(重点)正则表达式1:re模块(re.match、group())、正则表达式单字符匹配、正则数量({m}、{m,n})

    一.re模块(re.match.group()方法) 1. 2.re.match() 能够匹配出以xxx开头的字符串(从左到右开始依次匹配) 3.若匹配成功,返回字符串的匹配成功的部分,同时可以使用g ...

  5. 有n 个长为m+1 的字符串,求前后m个字符匹配所能形成的最长字符串链:利用弗洛伊德算法求最长路径...

    有n 个长为m+1 的字符串,如果某个字符串的最后m 个字符与某个字符串的前m 个字符匹配,则两个字符串可以联接,问这n 个字符串最多可以连成一个多长的字符串,如果出现循环,则返回错误. 把字符串看成 ...

  6. 正则表达式的字符匹配(一)

    正则表达式的单字符匹配 字符 功能 . 匹配任意1个字符(除了\n) [ ] 匹配[ ]中列举的字符 \d 匹配数字,即0-9 \D 匹配非数字,即不是数字 \s 匹配空白,即 空格,tab键,\n ...

  7. python 正则 re.match_python正则表达式re.match()匹配多个字符方法的实现

    1.  *表示匹配任意多个字符   \d*表示匹配任意多个数字字符 import re text = "123h1ello world" text1 = "123Hell ...

  8. 【正则表达式】字符匹配篇

    之前是写在另一个平台,但更新的断断续续,这次打算回炉重造,整理一波. 1.创建正则表达式 两种方式: 字面量:由斜杠包围而不是引号包围 构造函数的字符串参数:由引号而不是斜杠包围 // 使用正则表达字 ...

  9. 正则表达式中文字符匹配

    准备工作 在线UTF-8编码汉字互转,大概只用x后面的四位就可以 搜了很多资料,看到很多老教程讲的方法,程序跑不了,就自己来试试了 1.匹配所有中文字符 '[\u4e00-\u9fa5]' 2.匹配书 ...

  10. 〖Python语法进阶篇⑩〗- 正则表达式的字符匹配

    订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...

最新文章

  1. 将MongoDB服务加入随机启动
  2. 什么检索是借助计算机技术进行自动标引的,自动文献检索系统
  3. 系统管理员在企业中的职业定位及发展方向 连载(二)
  4. make file教程(转)
  5. 【Python】青少年蓝桥杯_每日一题_3.27_画多个正五边形图案
  6. STL:Numberic_limit()
  7. S/4HANA服务订单Service Order的批量创建
  8. 【CodeForces - 155C】Hometask (字符串,思维,贪心,熟悉句式)(总结)
  9. php处理base64数据,php基于base64解码数据与图片的转换
  10. 一瓶可乐的自动售货机指令“旅程”
  11. linux用户管理和群界面怎么打开,Linux的用户和组群管理
  12. Oracle常用函数——COALESCE
  13. 电厂运维的cis数据_浅析电力企业信息系统运维综合监管平台设计-
  14. 【ASP.NET Core分布式项目实战】(三)整理IdentityServer4 MVC授权、Consent功能实现...
  15. 为什么以及如何通过机器人学习编程和项目实践
  16. 2022茶艺师(初级)考试模拟100题模拟考试平台操作
  17. 计算机网络 万维网的文档
  18. 使用JQuery删除html页面中的元素
  19. 蚂蚁集团TRaaS技术风险防控平台入选中国信通院《信息系统稳定性保障能力建设指南(1.0)》最佳实践案例
  20. 如何将项目代码放到github上

热门文章

  1. 最拼命最努力的时候(转)
  2. LoadRunner详细使用教程
  3. 密度泛函 matlab,dft计算(密度泛函理论dft计算)
  4. 想在Win11上安装数据库?以下连招,轻松解决(全网详细巨无霸)
  5. http,https,spdy,http2等协议的主要区别详解
  6. SolidWorks工程图比例 1:1 配置
  7. H12-811 HCIA-Datacom 655 题新题库
  8. 愿为双鸿鹄,奋翅起高飞
  9. C# 软件开发岗面试经验总结
  10. 《 两个人的江湖 》