python正则表达式 匹配不包含某几个字符的字符串方法 – 正则表达式 与或非
python不包含某字符
例如 不包含摩托车或者汽车: ^((?!.(摩托车|汽车)).)$
一、匹配目标
文件中所有以https?://开头,以.jpg|.png|.jpeg结尾的字符串
二、尝试过程
1)
自然想到正则表达式r'(https?://.*?.jpg|https?://.*?.png|https?://.*?.jpeg)简化书写为r'(https?://.*?\.(?:jpg|png|jpeg)
匹配结果:['http://sdsdsdadadsdsdsddsdsdawwii,https://sdsdoijcjz.jpg']发现结果并非我们想要的,仔细查看,结果中出现了,或者"等符号,因此需要将这些字符去除
2)更改正则表达式为r'(https?://[^ ",]*?\.jpg|https?://[^ ",]*?\.png)' 简化书写为r'(https?://[^, "]*?\.(?:jpg|png|jpeg))
匹配结果 : [https://sdsdoijcjz.jpg']
完美匹配。
python – 正则表达式 与或非
啃书到一个判断正浮点数的环节,这里我定义的规则是python float可转化的输入,但是这里需要用到与或非,于是在网上查了下
与:
(patternA)(patternB)
或:
(patternA)|(patternB)
非:
(?!patternA)
校验 正则表达式 备注
非负浮点数 ^\d+(\.\d+)?$或^[1-9]\d*.\d*|0.\d*[1-9]\d|0?.0+|0$ (?!\+?^\.$)(^\+?\d*.\d*$)
非正浮点数 ^((-\d+(.\d+)?)|(0+(\.0+)?))$ (?!^-?\.$)((^-\d*\.\d*$)|(0*\.0*))
浮点数 ^(-?\d+)(\.\d+)?$ (?!^(\+|-)?\.$)(^(\+|-)?\d*\.\d*$)
原文链接:https://blog.csdn.net/jhsxy2005/article/details/109367502
啃书到一个判断正浮点数的环节,这里我定义的规则是python float可转化的输入,但是这里需要用到与或非,于是在网上查了下
与:
(patternA)(patternB)
或:
(patternA)|(patternB)
非:
(?!patternA)
校验 正则表达式 备注
非负浮点数 ^\d+(\.\d+)?$或^[1-9]\d*.\d*|0.\d*[1-9]\d|0?.0+|0$ (?!\+?^\.$)(^\+?\d*.\d*$)
非正浮点数 ^((-\d+(.\d+)?)|(0+(\.0+)?))$ (?!^-?\.$)((^-\d*\.\d*$)|(0*\.0*))
浮点数 ^(-?\d+)(\.\d+)?$ (?!^(\+|-)?\.$)(^(\+|-)?\d*\.\d*$)
原文链接:https://blog.csdn.net/jhsxy2005/article/details/109367502
https://blog.csdn.net/m0_63001937/article/details/124024006