`
hgfghwq19
  • 浏览: 47735 次
  • 性别: Icon_minigender_2
  • 来自: 青岛
社区版块
存档分类
最新评论

如何用正则表达式表示不包含2950的字符串?转

 
阅读更多

  使用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)。 
  22222222222222222
  常见函数 strstr($str, "abc"); 
  正则匹配 preg_match("/(abc)?/is", $str); 
  但是要匹配一个字符串中,不包含某字符串,用正则就比较麻烦了 
  如果不用正则 !strstr($str, "abc"); 就可以解决问题了 
  但是用正则呢,就只有这样了,"/^((?!abc).)*$/is" 
  33333333333333333
  常见函数 strstr($str, "abc"); 
  正则匹配 preg_match("/(abc)?/is", $str); 
  但是要匹配一个字符串中,不包含某字符串,用正则就比较麻烦了 
  如果不用正则 !strstr($str, "abc"); 就可以解决问题了 
  但是用正则呢,就只有这样了,"/^((?!abc).)*$/is" 
  //------------------------------------------------ 
  复制代码 代码如下:
   
  //------------------------------------------------ 
  结果为:false,含有abc! 
  $str = "2b3c4d5c"; 
  注意:[^(abc)] 这个语法是逐个检查$str中的字符是否不在 a b c中, 
  preg_match("/[^(abc)]/s", $str, $arr); 
  其中字符 2 就不在 a b c 中,所以$arr返回值为2; 
  同时匹配,包含字符串 "abc",而且不包含字符串 "xyz" 
  "/(abc)[^((?!xyz).)*$]/s" 
  详细出处参考:http://www.jb51.net/article/19910.htm
  44444444444444444444
  (?!((\w)*java(\w)*)  
  这个是不匹配的
  555555555555555555555555
  String regex = "(?:(?!party).)*";
  欢迎转载,但请保留出处,本文章转自[华软网] 原文链接:http://www.huarw.com/program/java/JAVA02/200806/16 02138_2.html
  6666666 [此问题的推荐答案]
  ^((?!sound).)+$ 
  这个只要有sound出现就不匹配. 
  有的表达式可能需要MULTILINE多行模式 . 
  /c/sound/1.mp3 不匹配 
  /c/so/und/1.mp3 匹配 
  /c/s/1.mp3 匹配 
  /c/qwersoundzxcv/1.mp3 不匹配
  找出所有img标签的,没有带说明属性alt的标签:
  正则:]*?alt[^]*?>).*?>
  例子:       
  扩展,如果要找没有带title属性的a应该是:
  正则:]*?title[^]*?>).*?>
  例子:       
分享到:
评论

相关推荐

    Qt 正则表达式例程

    Qt正则表达式例程,包含字符串搜索、字符串替换等。配合博文http://blog.csdn.net/lankin2013/article/details/41989961 Qt的正则表示类是QRegExp,在很多情况下都可以用到,比如字符串验证、字符串搜索、搜索并替换...

    18.C#字符串和正则表达式参考手册 影印版

    C#字符串和正则表达式参考手册 目 录 第1章 系统处理文本的方式 1 1.1 .NET Framework 1 1.1.1 公共语言运行时 2 1.1.2 .NET Framework类库 3 1.2 文本是一种数据类型 4 1.2.1 C#的数据类型 5 1.2.2 字符和字符集 6 ...

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

    使用Excel中的VBA测试如下(匹配式为:^((?!2950).)*$): Sub Regs() Dim RegEx As Object Set RegEx = CreateObject(“VBScript.regexp”) Dim s, mat s = “399295078” RegEx...2950)表示不匹配2950, 而^表示匹配字符

    C#匹配中文字符串的4种正则表达式分享

    本文介绍在C#中使用匹配中文的正则表达式,包括纯中文、有中文、中文开头、中文结尾等几个正则表达式示例。在正则表达式中,中文可以通过Unicode编码来...2、匹配字符串中包含中文字符的正则表达式 代码如下:”[\u4e00

    正则表达式精通,很详细的!!

    你可以看见如果你没有用我们提到的两个字符(最后一个例子),就是说模式(正则表达式) 可以出现在被检验字符串的任何地方,你没有把他锁定到两边 接着,说说 '*', '+',和 '?', 。。。。。。

    正则表达式

    由于某些字符类非常常用,所以JavaScript的正则表达式语法包含一些特殊字符和转义序列来表示这些常用的类.例如, \s 匹配的是空格符,制表符和其它空白符, \s 匹配的则是空白符之外的任何字符. 正则表灰式的字符类 ...

    JS正则表达式必须包含数字、字母、特殊字符

    主要介绍了JS正则表达式必须包含数字、字母、特殊字符的相关资料,文中还给大家提到了js 正则表达式 匹配除汉字,字母,数字,逗号,句号外的特殊字符(用来规范输入内容)需要的朋友可以参考下

    JavaScript 正则表达式与字符串查找方法

    其中第一个参数表示要匹配的字符串模式,因此可以传入变量,不需要加/ /,第二个参数是可选的标志字符串。 可以传入变量了,再介绍个字符串基本包装类型的方法:match() 语法为str.match(regExp),参数为一个正则...

    正则表达式不包含align该怎么写

    正则表达式匹配不包含某些字符串的技巧PHP正则提取不包含指定网址的图片地址的例子用正则删除不包含某个字符串的行的代码用正则表达式表示不包含2950的字符串php 正则 不包含某字符串的正则表达式正则表达式不包含...

    C++算法:正则表达式匹配

    给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。 '.' 匹配任意单个字符 '*' 匹配零个或多个前面的那一个元素 所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符...

    java 正则表达式

    JAVA正则表达式语法(转)正则表达式语法正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式示例表达式 ...

    JS正则表达式大全.docx

    在JavaScript中,正则表达式是由一个RegExp对象表示的.当然,可以使用一个RegExp()构造函数来创建RegExp对象, 也可以用JavaScript 1.2中的新添加的一个特殊语法来创建RegExp对象.就像字符串直接量被定义为包含在引号...

    正则常用表达式.txt

    正则表达式的本质是使用一系列特殊字符模式,来表示某一类字符串。正则表达式无疑是处理文本最有力的工具,而.NET提供的Regex类实现了验证正则表达式的方法。Regex 类表示不可变(只读)的正则表达式。它还包含各种...

    C# 中使用正则表达式匹配字符的含义

    1.正则表达式的作用:用来描述字符串的特征。 2.各个匹配字符的含义: . :表示除\n以外的单个字符 [ ] :表示在字符数组[]中罗列出来的字符任意取单个 | :表示“或”的意思 () :表示改变优先级或”提取组” *...

    Shell正则表达式学习笔记

    正规表示法(或称为常规表示法)是透过一些特殊字符的排列,用以搜寻/取代/删除一列或多列文字字符串, 简单的说,正规表示法就是用在字符串的处理上面的一项『表示式』。正规表示法并不是一个工具程序, 而是一个字符...

    C#正则表达式之Regex类用法详解

    它还包含各种静态方法,允许在不显式创建其他类的实例的情况下使用其他正则表达式类。 正则表达式基础概述 什么是正则表达式  在编写字符串的处理程序时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式...

    C#词法分析器之正则表达式的使用

    虽然正则表达式并不能表达出所有可能的模式(例如“由等数量的 a 和 b 组成的字符串”),但是它可以非常高效的描述处理词法单元时要用到的模式类型。 一、正则表达式的定义正则表达式可以由较小的正则表达式按照...

    剑指Offer——面试题19:正则表达式匹配

    例如,字符串”aaa”模式”a.a”和”ab*ac*a”匹配,但与”aa.a”及”ab*a”均不匹配。 #include #include #include #include using namespace std; /** * 分析:如果模式匹配中的字符ch是'.',那么它可以匹配字符串...

Global site tag (gtag.js) - Google Analytics