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

您可能还喜欢...

发表回复