正则表达式排除写法
作者:互联网
1. 简单排除
[^a]* 排除a
[^abc]* 排除a,b,c \D 排除数字 \S 排除空格 [^\u4E00-\u9FA5] 排除汉字 2. 排除某个单词/^((?!hello).)+$/ 排除 hello ((?!天空).)* 排除 天空 \b(?!cat\b)\w+ 排除 cat 3. 排除的写法结构 ^(?!排除判断).*key(?!排除判断).*$
4. 排除多个
^(?!.*(?:取消|撤销|删除)).*小微
(?!.*(?:abc|123)) 排除abc或者123
^(?!.*(?:取消|撤销|删除)).*小微(?!.*(?:企业|贷款|快贷|商户|公司)).*$ 例子:
1. 匹配不包含"天空",包含"花儿"的句子
import re string = '太阳天空照,花儿对我笑' result = re.findall(r'^(?:(?!天空).)*?花儿.*$', string) print(result) # [] string = '太阳空中照,花儿对我笑' result = re.findall(r'^(?:(?!天空).)*?花儿.*$', string) print(result) # ['太阳空中照,花儿对我笑']2. 匹配今天的天气,而不是明天的
import re s1 = 'how is the weather today' s2 = 'how is the weather tomorrow' regex = r'(^.*weather(?:(?!tomorrow).)*$)' result1 = re.findall(regex, s1) result2 = re.findall(regex, s2) print('result1: ', result1) print('result2: ', result2) # result1: ['how is the weather today'] # result2: []3. 匹配&和;之间不含有test的字符
str = "hello &test1;test&qout;";正则表达式:/&((?!test).)+;/g 匹配结果: 和 &qout; 4. 匹配不含有<img>标签的<div></div>标签
str = "<div id='1'><img class='xx'></div><div id='1'><input type=''text"></div>";正则表达式: /<div[^>]*>((?!<img[^>]*>).)+</div>/g 匹配结果:<div id='1'><input type=''text"></div> 5. 不包含robots的句子
^(?!.*?robots).*$6. 不以2009-07-08开头的条目
^(?!2009-07-08).*?$
出处:https://blog.csdn.net/xuyangxinlei/article/details/81359366 https://www.cnblogs.com/zongfa/p/14818734.html https://www.zhihu.com/question/511356890 https://blog.csdn.net/j10a/article/details/73457309
标签:string,正则表达式,result2,花儿,排除,re,写法,findall 来源: https://www.cnblogs.com/mengff/p/16390372.html