C#中正则表达式匹配整数与小数

Owen
Owen
发布时间:2026-10-15| 4人浏览过
原创

在C#编程中验证数据格式时,经常需要区分整数与小数。本文将介绍利用正则表达式(Regular Expression)同时处理这两种情况的精确方法,并提供可直接运行的匹配代码。

准备环境与基础

在 .NET 环境中进行字符串格式校验,核心依赖 System.Text.RegularExpressions 命名空间下的 Regex 类。该类的核心方法是 IsMatch(string input),它接收一个要匹配的字符串,若符合预设规则则返回 true,否则返回 false。

匹配整数的正则规则

如果目标是匹配只包含数字的整数(不允许负号、前导零或字母),可以使用以下正则表达式:

^([0-9]{1,})$

规则解析:

  • ^:匹配字符串起始位置。
  • ([0-9]{1,}):捕获一组数字字符(0到9),{1,} 表示至少出现一次且无上限,确保至少有一个数字存在。
  • $:匹配字符串结束位置,防止后面跟上其他字符。

匹配小数的正则规则

当需要匹配带有小数点的数值(例如 3.14 或 5.0)时,可使用如下表达式:

^([0-9]{1,}[.][0-9]*)$

规则解析:

  • ^ 与 $:依然锁定首尾,确保整个字符串完全由数字和小数点组成。
  • [0-9]{1,}:匹配整数部分,要求至少有一位数字。
  • [.]:匹配字面量的小数点符号(点号在正则中是特殊字符,使用方括号转义以确保准确性)。
  • [0-9]*:匹配小数点后的部分,* 表示可以有零个或多个数字,这允许了像 "3." 这样的形式;若需强制小数后必须有数字,可改为 +{1,} 或 [0-9]{1,}。

C#中的实际调用示例

下面是一个完整的调用演示,展示了如何将待检查的变量传入 Regex.IsMatch:

using System;
using System.Text.RegularExpressions;

class Program {
    static void Main() {
        string userInput = "123.45"; // 假设这是用户输入的字符串

        // 匹配整数逻辑
        bool isInteger = Regex.IsMatch(userInput, @"^([0-9]{1,})$");

        // 匹配小数逻辑
        bool isDecimal = Regex.IsMatch(userInput, @"^([0-9]{1,}[.][0-9]*)$");

        Console.WriteLine($"是否为整数: {isInteger}");
        Console.WriteLine($"是否为小数: {isDecimal}");
    }
}

在此例中,针对 userInput 的值,两个属性都会返回 false(因为它既不是纯粹的整数,也不满足简单的单小数点匹配)。若将变量更改为纯数字如 "42",isInteger 将变为 true;若为 "42.0",isDecimal 将变为 true。

以上就是C#使用正则表达式匹配整数与小数的详细内容,更多关于C#数据处理与正则用法资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。