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

yizhihongxing

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通过Schema实现数据验证方式

    Python通过Schema实现数据验证方式是一种有效的实现数据验证的方法。下面将介绍如何使用Python Schema库进行数据验证,包括安装Schema库、编写Schema验证规则、使用Schema验证数据等。 安装Schema库 Schema是Python中一个简单而强大的库,旨在提供一种基于schema的方式来验证Python数据。首先需要安装Sch…

    python 2023年6月3日
    00
  • Python爬虫将爬取的图片写入world文档的方法

    Python爬虫将爬取的图片写入Word文档的方法 在本教程中,我们将介绍如何使用Python爬虫将爬取的图片写入Word文档。我们将使用Python-docx库来实现这个功能。以下是一个完整攻略,含两个示例。 步骤1:获取图片数据 首先,我们需要获取图片数据。我们可以使用requests库发送HTTP请求,并使用Pillow库处理图片。以下是一个示例代码,…

    python 2023年5月15日
    00
  • python3如何使用Requests测试带签名的接口

    在Python中,requests是一个常用的HTTP客户端库,可以用于发送HTTP请求和处理HTTP响应。在测试带签名的接口时,可以使用requests库实现。以下是详细讲解Python3如何使用Requests测试带签名的接口的攻略,包含两个例。 使用requests库测试带签名的接口 在测试带签名的接口时,需要使用requests库的headers参数…

    python 2023年5月15日
    00
  • 跟老齐学Python之啰嗦的除法

    在Python中,除法运算符/的结果可能会出现小数,这是因为Python默认使用浮点数进行除法运算。但是在某些情况下,我们需要使用整数进行除法运算,这时候就需要使用Python中的整除运算符//。 下面是“跟老齐学Python之啰嗦的除法”的完整攻略: 1. Python中的除法运算符 在Python中,除法运算符/的结果可能会出现小数,例如: >&g…

    python 2023年5月14日
    00
  • python 爬取壁纸网站的示例

    我们来详细讲解一下如何用 Python 爬取壁纸网站。 1. 确定爬取目标 首先,我们需要确定需要爬取的壁纸网站。以 Unsplash 壁纸网站为例。 2. 分析页面结构 打开 Unsplash 网站,我们可以看到各种精美的壁纸,每一页都有多张图片。我们可以使用 Chrome 浏览器自带的开发者工具,通过检查页面元素来分析页面结构。可以看到每张图片都被包含在…

    python 2023年5月14日
    00
  • 详解python 爬取12306验证码

    接下来我将为你详细讲解“详解Python爬取12306验证码”的完整攻略。 1. 前言 在进行python爬虫时,验证码的破解常常是很重要的一步。而12306验证码的破解则是很多人首次接触验证码破解时的练手项目。本文将详细介绍如何使用Python来爬取12306的验证码。 2. 前置要求 在开始之前,需要满足以下前置要求: 安装Python 2.X或3.X版…

    python 2023年6月3日
    00
  • python实现堆栈与队列的方法

    下面是Python实现堆栈和队列的方法完整攻略,包含两条示例说明。 堆栈 什么是堆栈 堆栈是一种特殊的数据结构,其中新元素总是被添加到一端,该端被称为 “栈顶”,而现有元素只能从该端移除。由于新元素添加到栈顶,因此最后一个添加到栈内的元素第一个被移除,所以堆栈遵循了先进后出 (LIFO) 的原则。 如何实现堆栈 在 Python 中,使用列表 (list) …

    python 2023年6月6日
    00
  • Python从文件中读取数据的方法讲解

    下面是“Python从文件中读取数据的方法讲解”的完整攻略: 1. 读取文本文件 1.1 打开文件 在Python中打开文件使用内置函数 open(),用于创建一个文件对象。 open() 函数需要一个参数,即文件名称(包含完整路径),也可以使用相对路径。 示例代码: file = open(‘data.txt’, ‘r’) 上面的代码打开了文件 data.…

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