regex - 简单的浮点正则表达式
问题描述
我正在使用 [+-]?[0-9]*.[0-9]{1,} 这个简单的正则表达式来检测简单的浮点数。它工作正常,但将 4.0O0 检测为浮点数。谁能解释我为什么?我正在使用 python 来做,代码如下:
pattern=r'[+-]?[0-9]*\.[0-9]{1,}'
input_float=input().strip()
if re.match(pattern,input_float):
print("True")
else:
print("False")
解决方案
re.match
仅匹配字符串开头的给定正则表达式,但不匹配字符串结尾。改为使用re.fullmatch
给定的正则表达式匹配整个字符串。
if re.fullmatch(pattern,input_float):
推荐阅读
- sql - 基于 store_A 和所有商店的计数
- sql - OracleSQL 获取变量的子字符串作为新变量
- javascript - Vue:如何使用组件作为道具不显示空组件没有组件的html标签
- tensorflow - 在更改超参数并添加新的观察向量后恢复 ml-agents 训练
- c++ - Visual Studio 2019 的内置库有错误
- c++ - MIPS 中的快速排序
- java - 遗传算法 - 我需要什么数据结构?
- laravel - Laravel 的初学者没有在中间件来宾中使用我的路由,并且中间件验证所有路由都运行良好
- mongodb - MongoDB (Mongoose) Search Query with including text?
- c++ - 特定情况的分段错误