python正则匹配小数和带e的指数
时间: 2024-03-27 19:35:42 浏览: 46
可以使用以下正则表达式来匹配小数和带e的指数:
```python
import re
pattern = re.compile(r'^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$') # 匹配小数和带e的指数
```
这个正则表达式的含义是:
- ^ 表示匹配字符串的开头
- [-+]? 表示可选的正负号
- [0-9]* 表示可选的整数部分
- \.? 表示可选的小数点
- [0-9]+ 表示必选的小数部分
- ([eE][-+]?[0-9]+)? 表示可选的指数部分,其中 [eE] 表示匹配 e 或 E,[-+]? 表示可选的正负号,[0-9]+ 表示必选的指数数字部分
- $ 表示匹配字符串的结尾
使用示例:
```python
match1 = pattern.match('3.1415926')
match2 = pattern.match('1.2e-3')
match3 = pattern.match('3.14e+2')
match4 = pattern.match('3.')
match5 = pattern.match('e+2')
match6 = pattern.match('3.14e')
print(match1) # <re.Match object; span=(0, 9), match='3.1415926'>
print(match2) # <re.Match object; span=(0, 6), match='1.2e-3'>
print(match3) # <re.Match object; span=(0, 7), match='3.14e+2'>
print(match4) # None
print(match5) # None
print(match6) # None
```
阅读全文