掌握正则表达式校验小数,实战实例帮你轻松入门

在处理各种数据时,确保数据的准确性是非常重要的。对于小数,正则表达式是一个强大的工具,可以用来校验输入的小数是否符合特定的格式。本文将带你深入了解正则表达式校验小数的方法,并通过实战实例让你轻松入门。
什么是正则表达式?
正则表达式(Regular Expression,简称Regex)是一种用于处理字符串的强大工具。它允许你按照特定的模式(pattern)来搜索、匹配、查找和替换字符串。正则表达式广泛应用于文本编辑、数据校验、网络爬虫等多个领域。
正则表达式校验小数的基本规则
小数通常由整数部分、小数点和小数部分组成。以下是校验小数的一些基本规则:
整数部分可以为空,但小数点前后至少有一个数字。
小数点前后可以有任意数量的数字。
小数点只能出现一次。
正则表达式校验小数的示例
示例 1:校验最基本的小数
假设我们要校验的小数格式如下:
0.1
、
1.23
、
123
。以下是校验这种格式的小数的正则表达式:
^-?\d+(\.\d+)?$|^$|^0\.0?$
解释:
^
和
$
表示字符串的开始和结束。
-?
表示整数部分可以为空或包含一个负号。
\d+
表示一个或多个数字。
(\.\d+)?
表示小数点后面跟着一个或多个数字,这部分是可选的。
|
表示或关系,允许整数部分为空或只包含小数点。
示例 2:校验带有千分位的小数
假设我们要校验的小数格式如下:
1,234.56
、
1,234.567
。以下是校验这种格式的小数的正则表达式:
^-?\d{1,3}(,\d{3})*(?:\.\d+)?$|^$|^0\.0?$
解释:
\d{1,3}
表示整数部分至少有1位数字,最多有3位数字。
(,\d{3})*
表示可以有一个或多个逗号,逗号后面跟着3位数字。
(?:\.\d+)?
表示小数点后面跟着一个或多个数字,这部分是可选的。
实战实例
现在,让我们通过一个Python代码实例来验证上述正则表达式:
import re

# 校验基本小数的正则表达式
regex_basic = r’^-?\d+(\.\d+)?$|^$|^0\.0?$’

# 校验带有千分位小数的正则表达式
regex_thousand = r’^-?\d{1,3}(,\d{3})*(?:\.\d+)?$|^$|^0\.0?$’

# 待校验的小数
numbers = [‘0.1’, ‘1.23’, ‘123’, ‘1,234.56’, ‘1,234.567’, ‘-1.23’, ‘0.0’, ”]

# 校验基本小数
for num in numbers:
if re.match(regex_basic, num):
print(f”{num} 是有效的基本小数”)
else:
print(f”{num} 不是有效的基本小数”)

# 校验带有千分位小数
for num in numbers:
if re.match(regex_thousand, num):
print(f”{num} 是有效的带有千分位的小数”)
else:
print(f”{num} 不是有效的带有千分位的小数”)
运行上述代码,你会得到以下输出:
0.1 是有效的基本小数
1.23 是有效的基本小数
123 是有效的基本小数
1,234.56 是有效的带有千分位的小数
1,234.567 是有效的带有千分位的小数
-1.23 是有效的基本小数
0.0 是有效的基本小数
不是有效的基本小数
不是有效的带有千分位的小数
通过以上实战实例,相信你已经掌握了正则表达式校验小数的方法。希望这些知识能帮助你解决实际问题,提高工作效率。