正则表达式匹配 非XXX的行

1111111111111 

前边有内容,不定123.123.123.10后边有内容,不定 

3333333333333 

4444444444444

如何匹配"非:.+123.123.123.10.+ " 

匹配结果是, 

1111111111111

3333333333333 

4444444444444

结论:

^(?!.*123.123.123.10).*$ 

或C#里这么操作:

textBox2.Text = Regex.Replace(textBox1.Text, @"\n.*123\.123\.123\.10.*\n", "\n\r\n");

string result = Regex.Replace(str, @"^.*?123\.123\.123\.10.*$", "", RegexOptions.Multiline);

Regex reg =new Regex(@"(?<=^|\r\n)(?!123\.123\.123\.10).+");

总结:

匹配非“非内容”的行的表达式应该写成:^(?!.*非内容).*$

=================================== 

另,再来个例子: 

2008-07-14 15:44:40 W3SVC491 60.27.236.4 GET /Item/How-To-Connection-My-Computer-Flow-IP-yongfa365.html - 80 - 74.6.22.106 Mozilla/5.0+(compatible;+Yahoo!+Slurp;+http://help.yahoo.com/help/us/ysearch/slurp) 200 0 0 

2008-07-14 15:44:51 W3SVC491 60.27.236.4 GET /item/Clear.bat-System-Windows-98-XP-2003-yongfa365.html - 80 - 124.73.140.102 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0) 200 0 64 

2008-07-14 15:44:51 W3SVC491 60.27.236.4 GET /item/Clear.bat-System-Windows-98-XP-2003-yongfa365.html - 80 - 124.73.140.102 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0) 206 0 64 

2008-07-14 15:47:11 W3SVC491 60.27.236.4 GET /Articles.xml - 80 - 65.214.44.28 Bloglines/3.1+(http://www.bloglines.com;+1+subscriber) 200 0 64 

2008-07-14 15:47:47 W3SVC491 60.27.236.4 GET /Item/SQL-Server-Store-More-Than-8000-WRITETEXT-UPDATETEXT-yongfa365.html - 80 - 59.125.118.13 Trend+Micro+Web+Protection+Add-On+1.10.1144 200 0 0

找出上而面的行里的,不是以“200 0 64”结尾的行,然后删除

^(?!.*200 0 64).*$

而我一直是这么测试的: 

^(?!.*200 0 64)$ 

没有后边的.* 因为我觉得后边已经没有内容了,所以没写 .* 而不写就不对,写了才行,哪位高人可以再指点下。

时间: 2024-10-29 14:54:52

正则表达式匹配 非XXX的行的相关文章

正则表达式匹配 非XXX的行_正则表达式

1111111111111  前边有内容,不定123.123.123.10后边有内容,不定  3333333333333  4444444444444  如何匹配"非:.+123.123.123.10.+ "  行  匹配结果是,  1111111111111  3333333333333  4444444444444 结论: ^(?!.*123.123.123.10).*$  或C#里这么操作:  textBox2.Text = Regex.Replace(textBox1.Text

php 正则表达式 匹配以“XXX”开头不能以“YYY”结尾

后面要有一串的字符串 一般我用[^----]这样来否定,当然也别的写法   既然是否定"x"."y"."z" 就是[^xyz]   整个写来就是 ^abc[^xyz]*$   PHP测试:  代码如下 复制代码 <?php $str = 'abcdef124f'; $search = '/^abc[^xyz]*$/'; if(preg_match($search,$str)) {  echo $str.' 符合<br />';

正则表达式匹配字符串组合

问题描述 正则表达式匹配字符串组合 谁有完整的正则表达式匹配字符串组合的word文档,正则表达式感觉使用的好频繁,想全部仔细的看看 解决方案 正则表达式应用--实例应用 1.验证用户名和密码:(""^[a-zA-Z]w{515}$"")正确格式:""[A-Z][a-z]_[0-9]""组成并且第一个字必须为字母6~16位: 2.验证电话号码:(""^(d{3.4}-)d{78}$"")正

关于java正则表达式匹配url

问题描述 Pattern pattern=Pattern.compile(正则表达式); Matcher m=pattern.matcher("http://www.123.com/234/333.html"); //除中文不用外,其他的都要 if(m.find()){System.out.println(m.find());System.out.println(m.start()); System.out.println(m.end()); System.out.println(m.

shell脚本中用正则表达式匹配IP及Email

shell也可以使用正则分组捕获,不过不能使用 $1或\1这样的形式来捕获分组,可以通过数组${BASH_REMATCH}来获得,如${BASH_REMATCH[1]},${BASH_REMATCH[N]} 下面以ip="121.0.2.2"为例,shell脚本代码如下(当然,你要做成更通用交互式的脚本,可以通过expect来实现):    #!/bin/baship="121.0.2.2"if [[ $ip =~ ^([0-9]{1,2}|1[0-9][0-9]|

实用正则表达式匹配和替换大全_正则表达式

正则表达式非常有用,查找.匹配.处理字符串.替换和转换字符串,输入输出等.而且各种语言都支持,例如.NET正则库,JDK正则包, Perl, JavaScript等各种脚本语言都支持正则表达式.下面整理一些常用的正则表达式. 字符 描述 \ 将下一个字符标记为一个特殊字符.或一个原义字符.或一个 向后引用.或一个八进制转义符.例如,'n' 匹配字符 "n".'\n' 匹配一个换行符.序列 '\\' 匹配 "\" 而 "\(" 则匹配 "

比较常用的几个正则表达式匹配数字(收藏)

正则表达式用于字符串处理.表单验证等场合,实用高效.现将一些常用的表达式收集于此,以备不时之需. 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^\x00-\xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:\n\s*\r 评注:可以用来删除空白行 匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1

正则表达式——匹配规则介绍_正则表达式

基本模式匹配 一切从最基本的开始.模式,是正规表达式最基本的元素,它们是一组描述字符串特征的字符.模式可以很简单,由普通的字符串组成,也可以非常复杂,往往用特殊的字符表示一个范围内的字符.重复出现,或表示上下文.例如: ^once 这个模式包含一个特殊的字符^,表示该模式只匹配那些以once开头的字符串.例如该模式与字符串"once upon a time"匹配,与"There once was a man from NewYork"不匹配.正如如^符号表示开头一样

实用正则表达式匹配和替换大全

正则表达式非常有用,查找.匹配.处理字符串.替换和转换字符串,输入输出等.而且各种语言都支持,例如.NET正则库,JDK正则包, Perl, JavaScript等各种脚本语言都支持正则表达式.下面整理一些常用的正则表达式. 字符 描述 \ 将下一个字符标记为一个特殊字符.或一个原义字符.或一个 向后引用.或一个八进制转义符.例如,'n' 匹配字符 "n".'\n' 匹配一个换行符.序列 '\\' 匹配 "\" 而 "\(" 则匹配 "