数字正则表达式教程

正则表达式是一种强大的文本处理工具,其中包括了用于匹配数字的正则表达式。在本篇文章中,我们将会讨论数字正则表达式的语法,以及如何使用它们来匹配数字、字符串和其他类型的数据。无论你是需要从文本中提取数字,还是仅仅需要确认字符串是否包含数字,这些技巧都会对你有所帮助。

一、匹配整数

匹配整数是正则表达式中最常见的任务之一。下面是一些用于匹配整数的正则表达式:

//匹配正整数
^[1-9]\d*$

//匹配负整数
^-[1-9]\d*$

//匹配整数
^-?[1-9]\d*$

上述正则表达式中的^符号表示从字符串的开始位置开始匹配,$符号表示到字符串结尾位置结束。其中[1-9]表示数字可以是1到9的任意一个数字,\d表示数字可以是0-9中的任意一个数字,*表示允许匹配零个或多个字符。其中,^-?表示负号可以出现0次或1次。

二、匹配浮点数

匹配浮点数可能会相对更为复杂一些。下面是一些用于匹配浮点数的正则表达式:

//匹配浮点数,格式一:1.23, 0.12, .23
^([1-9]\d*|0)(\.\d+)?$ 

//匹配浮点数,格式二:-1.23, -0.12, -.23
^-([1-9]\d*|0)(\.\d+)?$

其中,\.\d+表示小数点后面至少跟了一位数字。同时这些正则表达式会捕获到整数部分和小数部分,所以你可以在匹配到的结果中进行进一步的处理。

三、匹配小数或整数范围

有时,你可能需要限制匹配的数值必须落在某个特定的范围之内。以下是一些示例:

//匹配1-100的整数
^(0?[1-9]|[1-9]\d|100)$ 

//匹配0-1之间的浮点数
^0\.\d*[1-9]+(\d+)?$
^1(\.0+)?$

//匹配1-10之间的浮点数,可以精确到小数点后两位
^(?!0)\d{1,2}(.\d{1,2})?$ 
^10(.(00?)?)?$

需要注意的特别是,匹配1-10之间的浮点数的正则表达式里使用了负向预测的(?!),用于排除了0这个数值。

四、匹配手机号码

如果你需要匹配手机号码,以下是一些用于匹配手机号码及其格式的正则表达式:

//匹配中国大陆的手机号码,格式类似于 13800138000
^1[3456789]\d{9}$

//匹配港澳台等地手机号码
^(00852|\+852)?[569]\d{7}$|^1[3456789]\d{9}$|^([0|6|9]\d{7,8})$|^([2-5]\d{7})$

//匹配美国的手机号码,格式类似于 1-541-754-3010
^1-[2-9]\d{2}-\d{3}-\d{4}$

五、匹配银行卡号

银行卡号的格式一般都是固定的,下面是一些用于匹配各种格式银行卡号的正则表达式:

//匹配16位银行卡号,格式类似于 6228480402564890018
^[4-6]\d{15}$

//匹配10至18位各类银行卡号
^(620521)(\d{13}|\d{15,16})$
^(621201|621202|622666|622675|622676|622677|622678|622679|622680|622681| 622682|622684|622688|622689)(\d{12,19})$
^(622630|622632|622633|622635|622636|622637|622638|622648|622650|622658| 622660|622678|622679|622680)(\d{10,17})$
^(622690|622691|622692|622696|622698)(\d{10,19})$
^(622660|622661|622662|622663|622664|622665|622666|622667|622668|622669| 622670|622671|622672|622673|622674|622675|622676|622677|622678|622679|622680|622681|622682| 622683|622684|622685|622686|622687|622688|622689)(\d{9,20})$
^(622171|622172|622173|622174|622175|622176|622177|622178|622179)(\d{13,16})$
^(622126|622127|622128|622129|622130|622131|622132|622133|622134|622135)(\d{11,18})$
^(622256|622257|622258|622259|622260|622261|985262)(\d{10,18})$
^(622901|622902|622922|622923|622906|622916|622909|622908|622926|622927| 622928|622933|622939|622938|622937|622939|622940|622947|623062|622946|622942|622949| 622952|523036|622955|622939)(\d{13,16})$
^(621462|621453|623005|623006|621467|621428|623062|623260|623261)(\d{12,19})$
^(621095|621096)([\d]{10,17})$
^(62\d{17})(\d{3})?$

需要注意的是,这些正则表达式中并不会验证银行卡的真实性,需要结合其他验证方式使用。

到此,本篇数字正则表达式教程结束。以上这些正则表达式可以帮助你快速匹配数字、电话、银行卡等各种格式的数据。如果你需要更多帮助,请参考正则表达式相关的文档或教程。

原创文章,作者:VNFQ,如若转载,请注明出处:https://www.506064.com/n/137346.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
VNFQVNFQ
上一篇 2024-10-04 00:17
下一篇 2024-10-04 00:17

相关推荐

  • MQTT使用教程

    MQTT是一种轻量级的消息传输协议,适用于物联网领域中的设备与云端、设备与设备之间的数据传输。本文将介绍使用MQTT实现设备与云端数据传输的方法和注意事项。 一、准备工作 在使用M…

    编程 2025-04-29
  • Python3.6.5下载安装教程

    Python是一种面向对象、解释型计算机程序语言。它是一门动态语言,因为它不会对程序员提前声明变量类型,而是在变量第一次赋值时自动识别该变量的类型。 Python3.6.5是Pyt…

    编程 2025-04-29
  • Python循环符合要求数字求和

    这篇文章将详细介绍如何通过Python循环符合要求数字求和。如果你想用Python求和但又不想手动输入数字,那么本文将是一个不错的选择。 一、使用while循环实现求和 sum =…

    编程 2025-04-29
  • Deepin系统分区设置教程

    本教程将会详细介绍Deepin系统如何进行分区设置,分享多种方式让您了解如何规划您的硬盘。 一、分区的基本知识 在进行Deepin系统分区设置之前,我们需要了解一些基本分区概念。 …

    编程 2025-04-29
  • 写代码新手教程

    本文将从语言选择、学习方法、编码规范以及常见问题解答等多个方面,为编程新手提供实用、简明的教程。 一、语言选择 作为编程新手,选择一门编程语言是很关键的一步。以下是几个有代表性的编…

    编程 2025-04-29
  • Python正则表达式search()和match()有什么区别?

    search()和match()都是Python中的正则表达式函数,它们的作用都是在一个字符串中搜索匹配正则表达式的位置,但它们有着不同的使用场景和返回结果。 一、search()…

    编程 2025-04-29
  • Qt雷达探测教程

    本文主要介绍如何使用Qt开发雷达探测程序,并展示一个简单的雷达探测示例。 一、环境准备 在开始本教程之前,需要确保你的开发环境已经安装Qt和Qt Creator。如果没有安装,可以…

    编程 2025-04-29
  • Python基本数字类型

    本文将介绍Python中基本数字类型,包括整型、布尔型、浮点型、复数型,并提供相应的代码示例以便读者更好的理解。 一、整型 整型即整数类型,Python中的整型没有大小限制,所以可…

    编程 2025-04-29
  • 猿编程python免费全套教程400集

    想要学习Python编程吗?猿编程python免费全套教程400集是一个不错的选择!下面我们来详细了解一下这个教程。 一、课程内容 猿编程python免费全套教程400集包含了从P…

    编程 2025-04-29
  • Python数字求和怎么写

    在Python中实现数字求和非常简单,下面将从多个方面对Python数字求和的实现方法做详细的阐述。 一、直接使用“+”符号进行求和 a = 10 b = 20 c = a + b…

    编程 2025-04-29

发表回复

登录后才能评论