正则表达式 如何完成匹配某个字符串 但是不包含指定字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式 如何完成匹配某个字符串 但是不包含指定字符串相关的知识,希望对你有一定的参考价值。

要求:
不匹配的语句:select a.部门,b.名称 from 科室信息 a,业务信息 b
匹配的语句:select a.no,a.部门,b.名称 from 科室信息 a,业务信息 b,规则 c
select a.no,a.部门,b.名称 from 科室信息 a,业务信息 b
select a.部门,b.名称 from 科室信息 a,业务信息 b,规则 c
即:包含部门、名称,且包含no或规则的语句匹配

如果取整句:
.*no.*部门.*名称.*|.*部门.*名称.*规则.*

如果取句中某一部分:
(?=.*no).*部门.*名称.*|.*部门.*名称.*(?=规则.*)

如果要更精确的匹配,请“追问”说明。
参考技术A 你能再补充一下吗? 上面的看的容易让人晕 参考技术B 不明白,好象可以用查找替换做追问

用正则表达式:
类似:.*(?!.*?no).*部门.*名称

正则表达式匹配指定字符

数据格式为:
Directory of flash:/

0 -rw- 35665920 Nov 25 2014 16:33:28 s10500-cmw520-r1208p08.bin
1 drw- - Apr 23 2013 23:00:50 seclog
2 -rwh 1936 Sep 07 2008 20:14:51 private-data.txt
3 -rw- 5213 Apr 23 2013 23:43:41 s08906sohuirftest.cfg
4 -rw- 918 Oct 15 2013 15:38:48 patchstate
5 -rw- 21139 Sep 07 2008 20:14:57 config.cwmp
6 -rwh 735 Oct 15 2013 15:39:49 hostkey
7 -rwh 591 Oct 15 2013 15:39:55 serverkey
8 -rwh 4 Oct 28 2008 08:59:38 snmpboots
9 -rwh 567 Oct 15 2013 15:40:07 dsakey
10 -rw- 4346 Sep 07 2008 20:15:14 irf.cfg
11 -rw- 1792 Sep 07 2008 20:15:07 system.xml
12 -rwh 735 Jul 08 2008 10:25:07 hostkey_v3
13 drw- - Oct 21 2013 22:03:58 logfile
14 -rwh 591 Jul 08 2008 10:25:12 serverkey_v3
15 -rwh 567 Jul 08 2008 10:25:23 dsakey_v3
16 -rw- 1966153 Aug 20 2008 22:07:09 1_h3cs10504cmwv5(200.1.1.6)2015_11_22_23_10_03.diag
17 -rw- 2008541 Sep 19 2008 03:33:55 3_h3cs10504cmwv5(200.1.1.6)2015_12_22_04_37_09.diag
18 -rwh 475 Aug 13 2014 21:34:52 pwdctrl.dat
19 -rw- 6921 Aug 13 2014 21:59:42 20140814.cfg
20 -rw- 2000556 Oct 08 2008 03:35:28 3_h3cs10504cmwv5(200.1.1.6)2016_01_10_04_38_41.diag
21 -rw- 1997743 Oct 09 2008 03:35:25 3_h3cs10504cmwv5(200.1.1.6)2016_01_11_04_38_38.diag
22 -rw- 2940 Jul 08 2008 09:06:30 [irf.cfg]
22 -rw- 3615 Jul 07 2008 19:01:09 [1.cfg]

125349 KB total (82664 KB free)

我想使用正则表达式获取包含drw-的那一整行数据,请教大神 正则表达式该怎么写? 先谢谢大神了

参考技术A .*drw-.*
即可本回答被提问者采纳
参考技术B (?=.*drw.*).*

以上是关于正则表达式 如何完成匹配某个字符串 但是不包含指定字符串的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式怎么匹配前面紧跟某个字符串的字符

正则表达式不匹配某些字符串!

正则表达式不匹配某字符串?

oracle10g中,如何查询正则表达式匹配指定字符串的匹配个数?

判断字符串中是不是包含某个字符串

正则表达式:匹配指定字符后面的字符怎样实现?