用正则表达式表示不包含2950的字符串

时间:2010-03-02 22:10:00 

或者说有一条命令 hostname [string],当string是不包含2950时,是true,包含2950时是false。

使用Excel中的VBA测试如下(匹配式为:^((?!2950).)*$):

Sub Regs() 
Dim RegEx As Object 
Set RegEx = CreateObject("VBScript.regexp") 
Dim s, mat 
s = "399295078" 
RegEx.Pattern = "^((?!2950).)*$" 
RegEx.Global = True 
MsgBox RegEx.test(s) 
Set RegEx = Nothing 
End Sub 

如果匹配2950,则返会false,否则为true。

其中,(?!2950)表示不匹配2950, 而^表示匹配字符串的开始位置,

.表示匹配除 "\n" 之外的任何单个字符,

$表示匹配字符串的结束位置,

*表示匹配前面的子表达式零次或多次。

整个匹配式连起来就是:匹配空值或者匹配不含2950的字符串。

其中(?!2950)后面必须加一个“.”,那么(?!2950).表示不含2950且至少有一个字符。其实整个就是(?!2950)和(.)*的组合,(.)*表示空串或者任意一个串(不包含\n)。

 

标签:匹配,正则表达式,字符串
0
投稿

猜你喜欢

  • Python循环结构详解

    2023-09-03 13:34:09
  • CentOS 6.2 安装 MySQL 5.7.28的教程(mysql 笔记)

    2024-01-27 01:27:56
  • MySQL中表分区技术详细解析

    2024-01-21 01:01:11
  • python装饰器原理源码示例分析

    2022-03-25 18:31:04
  • 楼层数横排比竖排好

    2008-04-26 07:28:00
  • Go语言获取数组长度的方法

    2024-04-30 10:01:19
  • 深入浅析python with语句简介

    2022-06-30 20:23:16
  • python 弹窗提示警告框MessageBox的实例

    2023-11-12 01:07:17
  • 微信小程序实现登录注册tab切换效果

    2024-04-29 13:11:29
  • python类继承用法实例分析

    2022-01-25 16:44:13
  • Python图像处理实现两幅图像合成一幅图像的方法【测试可用】

    2022-11-13 08:36:56
  • Pandas常用累计、同比、环比等统计方法实践过程

    2021-03-13 01:48:36
  • 学习python处理python编码问题

    2022-06-23 22:18:42
  • JS FormData对象使用方法实例详解

    2024-02-25 04:54:46
  • SQLServer数据库密码短时间强制过期的解决

    2024-01-18 09:40:01
  • Python使用grequests并发发送请求的示例

    2022-11-08 15:38:01
  • SQL 将一列拆分成多列的三种方法

    2024-01-23 15:30:18
  • wap开发 完整的WML文档结构详解

    2008-05-21 13:39:00
  • 一文教你向Pandas DataFrame添加行

    2022-01-31 13:51:01
  • Python数据提取-lxml模块

    2022-04-03 15:15:19
  • asp之家 网络编程 m.aspxhome.com