String s = "([^cd]*)"; Match m = Regex.Match("eabcfgh", s); MessageBox.Show(m.Value);//eab MessageBox.Show(m.Groups[1].Value);//eab
上面这种写法是错的比较离谱的,正常青年一般都可以避免这种错误。在特殊情况下,正则表达式可以这么写,而且效率是比较高的。
([/s/S]*cd)
先说明下/s/S是表示匹配任何字符。所谓特殊情况,就是我知道这个字符串中必有cd的存在。假如,我的要求是匹配不包含cd的部分(为了描述方便,只匹配cd之前的部分),也就是说,当cd不存在时,应该把整个字符串都取出来。
String s = "((.(?!cd))*.)"; //String s = "([/s/S]*cd)"; Match m = Regex.Match("eabcdfgh", s); MessageBox.Show(m.Value);//eab MessageBox.Show(m.Groups[1].Value);//eab
这种写法终于符合要求了。不过值得一提的是,相较前一种而言,它的效率比较低。
//定义非捕获组 String s = "e(?:ab)(.*)"; Match m = Regex.Match("eabcd", s); MessageBox.Show(m.Value);//eabcd MessageBox.Show(m.Groups[1].Value);//cd
ab是被匹配的,但是它所在的组没有被捕获,Group[1]是cd
//零宽度正预测先行断言 //String s = "b(cd|de)(.*)"; String s = "b(?=cd|de)(.*)"; Match m = Regex.Match("eabcdfg", s); MessageBox.Show(m.Value); MessageBox.Show(m.Groups[1].Value);//区别 cd cdfg
相关推荐
正则表达式判断不包涵特殊字符(除了 指定字符 以外)
其中包括5个类,这5个类的代码基本概括了java正则表达式替换String的多种情况,比如获取某个文件路径中盘符/后边的部分内容,提取"<title>XXXX</title>"中的文字XXXX,用正则表达式获取指定字符串内容中的指定内容,...
项目中输入框需要验证不能输入root或者admin,不区分大小写。 琢磨了很久,写出来了正则如下: /^(?!root|admin)|\broot.+|\badmin.+/i tips:如果是写在java里,\b前面需要加转义符,写成\\b 如果你觉得有用,...
今天小编就为大家分享一篇python正则表达式匹配不包含某几个字符的字符串方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。 本实例的符号包括: 1. 基本正则表达式, 如ab 2. 重复, 如a* 3. 在各项中选择, 如a|b 使用时在Convert的Reg Exp中...
经常我们会遇到想找出不包含某个字符串的文本,程序员最容易想到的是在正则表达式里使用,^(hede)来过滤”hede”字串,但这种写法是错误的。我们可以这样写:[^hede],但这样的正则表达式完全是另外一个意思,它的...
正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符"))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来...
但是要匹配一个字符串中,不包含某字符串,用正则就比较麻烦了 如果不用正则 !strstr($str, “abc”); 就可以解决问题了 但是用正则呢,就只有这样了,”/^((?!abc).)*$/is” //————————————————...
RegExp正则表达式
正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。正则表达式是繁琐的,但它是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感。只要认真阅读本教程,加上应用的时候进行...
sublime-filterlines, 快速查找匹配字符串或者正则表达式的所有行 过滤线快速查找匹配字符串或者正则表达式的所有行。在编辑> 行菜单上:使用 正规表达式 排除行排除带字符串的行在编辑> 代码折叠菜单上:折叠不包括...
例如枚举出日志文件中不包含某个特定字符串的条目,找出不以某个特定字符串打头的条目,等等。 使用否定式前瞻 正则表达式中有前瞻(Lookahead)和后顾(Lookbehind)的概念,这两个术语非常形象的描述了正则引擎的...
正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。 正则表达式是繁琐的,但它是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感。只要认真阅读本教程,加上应用的时候...
目前为止,许多编程语言和工具都包含对正则表达式的支持,C#也不例外,C#基础类库中包含有一个命名空间(System.Text.RegularExpressions)和一系列可以充分发挥规则表达式威力的类(Regex、Match、Group等)。...
即使有经验的用户也经常会遇到性能不佳、误报、漏报等让人挠头的错误,本书对于如何使用正则表达式来解决一些常见的问题给出了按部就班的解决方案,其中包括c#、Java、JavaScript、Perl、PHP、Python、Ruby和VB...
正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。 <br>3.1 普通字符 由所有那些未显式指定为元字符的打印和非打印字符组成。这包括所有的大写和小写字母字符,所有数字,所有标点符号...
即使有经验的用户也经常会遇到性能不佳、误报、漏报等让人挠头的错误,本书对于如何使用正则表达式来解决一些常见的问题给出了按部就班的解决方案,其中包括c#、Java、JavaScript、Perl、PHP、Python、Ruby和VB...
正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。 正则表达式是烦琐的,但它是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感。只要认真阅读本教程,加上应用的时候...