Python验证的50个常见正则表达式

Python验证的50个常见正则表达式

正则表达式是一种用于描述字符串模式的语言,可以用于匹配、查找、替换和割字符串。在Python中,模块提供了正表达式持方便进行字符串的处理。本文将详细解Python验证的50个常见正则表达式,包括正则表达语法、模块的常用函数以及示例说明。

正则表达式语法

正则表达式语法是一组特殊字符符号用于描述字符串模式。下面是一些常用正则表达式语法:

  • .:匹配任意字符,除了换行符。
  • *:匹配前面的字符零次或多次。
  • +:匹配前面的字符一次或多次。
  • ?:匹配前面的字符零次或一次。
  • ^:匹字符串的开头。
  • $:匹配字符串的结尾。
  • []:匹配括号内的任意一个字符。
  • ():标记一个子表达的开始和结束位置。
  • |:匹配两个或多个正则表达式之一。

re模块的常用函数

re模块提供了多个函数用于正则达式的处理,下面是一些常用的函数:

  • re.search(pattern, string, flags=0):在字符串中查找匹配项,返回一个Match对象。
  • re.match(pattern, string, flags=0):从字符串的开头开始匹配,返回一个Match对象。
  • re.findall(pattern, string, flags=0):查找字符串中所有匹配项,返回一个列表。
  • re.sub(pattern, repl string, count=0, flags=0):用指定的字符串替换匹配项,返回替换后的字符串。
  • re.split(pattern, string, maxsplit=0, flags=0):根正则表达式分割字符串,返回一个列表。

示例说明

下面是两个例说明,演示何使用Python正则表达式进行字符串的处理。

示例1:匹配邮箱地址

import re

# 定义正则表达式
pattern = r'\w+@\w+\.\w+'

# 定义字符串
string = 'My email is example123@gmail'

# 使用re.search()方法查找匹配项
match = re.search(pattern, string)

# 输出匹配
if match:
    print(match.group())
else:
    print('No match')
`

在这个示例中,我们定义了一个正则表达`\w+@\w+\.\w+`,用于匹配邮箱地址。然后,我们定义了一个字符串`My email is example123@gmail.com`,其中包含邮箱地址。最后,我们使用re.search()方法查找匹配项,并输出匹配结果example123@gmail.com`。

### 示例2:匹配HTML标签

```python
import re

# 定义正则表达式
pattern = r'<.*?>'

# 定义字符串
string = '<p>This is a paragraph.</p>'

# 使用re.findall()查找匹配
matches = re.findall(pattern, string)

# 输出匹配结果
for match in matches:
    print(match)

在这个示例中,我们定义一个正则表达式<.*?>,用于匹配HTML签。后我们定义了一个字符串<p>This is a.</p>,其中包含HTML标签。最后,我们使用re.findall方法查找所有匹配项,并输出匹配结果<p></p>

50个常见正则表达式

下面是50个常见的Python验证正则表达式包括正则表达式语法、re模块的常用以及示例说明。

1. 匹配整数

import re

# 定义正则表达式
pattern = r'^[+-]?\d+$'

# 定义字符串
string = '123'

# 使用re.match()方法查找匹配项
match = re.match(pattern, string)

# 输出匹配结果
if match:
    print(match.group())
else:
    print('No match')

在这个示例中,我们定义了一个正则表达式^[+-]?\d+$,用于匹配整数。然后,我们定义了一个123,其中包含数。最后,我们使用re.match()方法查找匹配项,并输出匹配结果123

2. 匹配浮点数

```pythonimport re

定义正则表达式

pattern = r'^[+-]?\d+(.\d+)?$'

定义字符串

string = '3.14'

使用re.match()方法查找匹配项

match = re.match(pattern string)

输出匹配结果

if match:
print(match.group())
else:
print('No match')


在这个示例中,我们定义了一个正则表达式`^[+-]?\d+(\.\d+)?$`,用于匹配浮点数。然后,我们定义了一个字符串`314`,其中包含浮点数。最后,我们使用re.match()方法查找匹配项,并输出匹配结果`3.14`。

### 3. 匹配正整数

```python
import re

# 定义正则表达式
pattern = r'^[1-9]\d*$'

# 定义字符串
string = '123'

# 使用re.match()方法查找匹配项
match = re.match(pattern, string)

# 输出匹配结果
if match:
    print(match.group())
else:
    print('No match')

在这个示例中,我们定义了一个正则表达式^[1-9]\d*$,用于匹配正整数。然后,我们定义了一个字符串123,其中包含正整数。最后,我们使用re.match()方法查找匹配项,并输出匹配结果123

4 匹配负整数

```pythonimport re

定义正则表达式

pattern = r'^-[1-9]\d*$'

定义字符串

string = '-123'

使用re.match()方法查找匹配项

match = re.match(pattern, string)

输出匹配结果

if match:
print(match.group())
else:
print('No match')


在这个示例中,我们定义了一个正则表达式`^-[1-9]\d*$`,用于匹配负整数。然后,我们定义了一个字符串`-123`,其中包含负整数。最后,我们使用re.match()方法找匹配项,并输出匹配结果`-123`。

### 5. 匹配非负整数

```python
import re

# 定义正则表达式
pattern = r'^\d+$'

# 定义字符串
string = '123'

# 使用re.match()方法查找匹配项
match = re.match(pattern, string)

# 输出匹配结果
if match:
    print(match.group())
else:
    print('No match')

在这个示例中,我们定义了一个正则表达式^\d+$,用于匹配非负整数。后,我们定义了一个字符串123,其中包含负数。最后,我们使用re.match()方法查找匹配项,并输出匹配结果123

6. 匹配非正整数

import re

# 定义正则表达式
pattern = r'^-[1-9]\d*|0$'

# 定义字符串
string = '-123'

# 使用re.match()方法查找匹配项
match = re.match(pattern, string)

# 输出匹配结果
if match:
   (match.group())
else:
    print('No match')

在这个示例中,我们定义了一个正则表达式^-[1-9]\d*|0$,用于匹配非正整数。然后,我们定义了一个-123,其中包含非正整数。最后,我们使用re.match()方法查找匹配项,并输出匹配结果-123

7. 匹配正浮点数

import re

# 定义正则表达式
pattern = r'^[1-9d*\.\d+|\.\d*[1-9]\d*$'

# 定义字符串
string = '3.14'

# 使用re.match()方法查找匹配项
match = re.match(pattern, string)

# 输出匹配结果
if match:
    print(match.group())
else:
    print('No match')

在这个示例中,我们定义了一个正则表达式^[1-9]\d*\.\d+|[-9]\d*\.\d+|0\.\d*[1-9]\d*$,用于匹配正浮点数。然后,我们定义了一个字符串3.14,其中包含正浮点数。最后,我们使用re.match()方法查找匹配项,并输出匹配结果3.14

8. 匹配负浮点数

import re

# 定义正则表达式
pattern = r'^-[1-9]\d*\.\d+|-0\.\d*[1-9]\d*$'

# 定义字符串
string = '-3.14'

# 使用re(pattern, string)

# 输出匹配
if match:
    print.group())
else:
    print('No match')

在这个示例中,我们定义了一个正则表达式^-[1-9]\d*\.\d+|-0\.\d1-]\d*$,用于匹配负浮点数。然后,我们定义了一个字符串-3.14,其中包含负浮点数。最后,我们使用re.match()方法查找匹配项,并输出匹配-3.14

9. 匹配非负浮点数

import re

# 定义正则表达式
pattern = r'^\d+\.\d+|0\.\d*[1-9]\d*|0?\.0+|0$'

# 定义字符串
string = '3.14'

# 使用re.match()方法查找匹配项
match = re.match(pattern, string)

# 输出匹配结果
if match:
    print(match.group())
else:
    print('No match')

在这个示例中,我们定义了一个正则表达式^\d+\.\d+|0\d*[1-9]\d*|0?\.0+|0$,用于匹配非负浮点数。然后,我们定义了一个字符串3.14,其中包含非负浮点数。最后,我们使用re.match()方法查找匹配,并输出匹配结果3.14

10. 匹配非正浮点数

import re

# 定义正则表达式
pattern = r'^(-([1-9]\d*\.\d+|0\.\d*[1-9]\d*))|0\.0+|0$'

# 定义字符串
string = '-3.14'

# 使用re.match()方法查找匹配
match = re.match(pattern, string)

# 输出匹配结果
if match:
    print(match.group())
else:
    print('No match')

在这个示例中,我们定义了一个正则表达式^(-([1-9]\d*\.\d+|0\.\d*[19]\d*))|0\.0+|0$,用于匹配非正浮点。然后,我们定义了一个字符串-3.14,其中包含非正浮点数。最后,我们使用re.match()方法查找匹配项,并输出匹配结果-3.14

11. 匹配手机号码

import re

# 定义正则表达式
pattern = r'^1[3-9]\d{9}$'

# 定义字符串
string = '13812345678'

# 使用re.match()方法查找匹配项
match = re.match(pattern, string)

# 输出匹配结果
if match:
    print(match.group())
else:
    print('No match')

在这个示例中,我们定义了一个正则表达式^1[3-9]\d{9}$,用于匹配手机号码。然后,我们定义了一个字符串13812345678,其中包含手机号码。最后,我们使用re.match()查找匹配项,并输出匹配结果13812345678

12. 匹配身份证号码

import re

# 定义正则表达式
pattern = r'^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[02])(0[1-9]|[1-2]\d|3[0-1])\d{3}[\dX]$'

# 定字符串
string =110101199003077777'

# 使用re.match()方法查找匹配项
match = re.match(pattern, string)

# 输出匹配结果
if match:
    print(match.group())
else:
    print('No match')

在这个示例中我们定义了一个正则表达式^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}[\dX]$,用于匹配身份证号码。然后,我们定义了一个字符串110101199003077777,其中包含身份证号码。最后,我们使用re.match()方法查找匹配项,并输出匹配结果110101199003077777

13. 匹配URL

import re

# 定义正则表达式
pattern = r'^https?://[\w-]+(\.[\w-]+)+([\w.,?^=%&:/~+#-]*[\w@?^=%&/~+#-])?$'

# 定义字符串
string = 'https://www.example.com/index.html'

# 使用re.match()方法查找匹配项
match = re.match(pattern, string)

# 输出匹结果
if match:
    print(match.group())
else:
    print('No match')

在这个示例中,我们定义了一个正则表达式^https?://[\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?$,用于匹配URL。然后,我们定义了一个字符串https://www.example.com/index.html,其中包含URL。最后,我们使用re.match()方法查找匹配项,并输出匹配结果https://www.example.com/index.html

14. 匹配IP地址

```python
import re

定义正则表达式

pattern = r'^((25[0-5]|2[0-4]\d|[01]?\d\d?).){3}(25[0-5]|2[

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python验证的50个常见正则表达式 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • python字符串反转的四种方法详解

    Python字符串反转的四种方法详解 在Python中,字符串是一种非常常见的数据类型,并且在字符串处理中经常需要进行字符串反转这一操作。 本文将详细讲解Python字符串反转的四种有效方法。 方法一:使用字符串切片 字符串切片可以直接得到反转后的字符串。 示例代码: string = "Hello, World!" reversed_s…

    python 2023年6月5日
    00
  • 如何根据条件过滤二维NumPy数组

    当我们需要对一个二维NumPy数组进行筛选时,可以使用条件判断来过滤出符合条件的元素,下面将详细讲解如何根据条件过滤二维NumPy数组。 使用布尔索引 布尔索引是一种非常有效的方法,可以根据条件过滤二维NumPy数组。我们可以先创建一个条件数组,将符合条件的位置设置为True,然后将条件数组作为索引传给原数组即可实现过滤。示例如下: import numpy…

    python-answer 2023年3月25日
    00
  • 利用Python求阴影部分的面积实例代码

    下面是利用Python求阴影部分的面积实例代码的完整攻略: 案例背景 在电影制作中,阴影是非常重要的元素之一,如果需要带有阴影的物体在现实世界中出现,可以使用Python计算阴影的面积来更加真实的呈现物体。这个计算过程可以使用Python的库来完成,具体代码实现如下: 第一步:导入库 首先需要导入Python的常用库,如numpy、matplotlib和mp…

    python 2023年6月5日
    00
  • Python 时间戳之获取整点凌晨时间戳的操作方法

    如何获取整点凌晨的时间戳? 在 Python 中获取整点凌晨时间戳可以通过以下步骤完成: 获取当前时间的时间戳。 将当前时间戳转化为当前时间,获取当前日期、小时、分和秒。 将当前日期、小时、分和秒中的分和秒设为 0(即整点时间)。 将处理后的时间转为时间戳即可。 下面是示例代码: import time # 获取当前时间戳 current_timestamp…

    python 2023年6月2日
    00
  • python实现plt x轴坐标按1刻度显示

    想要在matplotlib中使x轴坐标按照1刻度显示,我们可以采用以下的方法: 使用pyplot提供的xticks函数,通过设置两个参数ticks和step来实现横轴按1坐标刻度显示。 import numpy as np import matplotlib.pyplot as plt # 生成数据 x 和 y x = np.linspace(-10, 10…

    python 2023年5月18日
    00
  • 把vgg-face.mat权重迁移到pytorch模型示例

    把VGG-Face.mat权重迁移到PyTorch模型需要经过以下步骤: 步骤1:下载VGG-Face.mat文件 可以在官方网站(http://www.robots.ox.ac.uk/~vgg/software/vgg_face/)上下载VGG-Face.mat权重文件。 步骤2:使用scipy.io加载VGG-Face.mat文件 要加载VGG-Face…

    python 2023年6月3日
    00
  • 基于python的列表list和集合set操作

    基于Python的列表(List)和集合(Set)操作 Python中的列表(List)和集合(Set)是两种常用的数据类型,它们都可以用来存储多个元素。本文将入讲解Python中列表和集合的区别、创建、访问、修改、删除等操作,并提供两个示例说明。 列表(List)集合(Set)的区别 列表和集合的最大区别在于它们的元素是否唯一。列表中的元素可以重复,而集合…

    python 2023年5月13日
    00
  • python工具快速为音视频自动生成字幕(使用说明)

    Python工具快速为音视频自动生成字幕(使用说明) 在本文中,我们将介绍使用Python工具快速为音视频自动生成字幕的步骤和注意事项。 1. 安装工具和依赖 在使用Python工具自动生成字幕之前,需要安装以下依赖包和工具: FFmpeg: FFmpeg是一款用于处理多媒体文件的工具。它可以用于解码和编码各种视频、音频格式,并且支持转换和流媒体处理。在安装…

    python 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部