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 beautiful soup库入门安装教程

    Python BeautifulSoup库入门安装教程 BeautifulSoup是Python中一个非常流行的HTML和XML解析库,可以帮助我们更方便地解析网页。本文将介绍如何安装BeautifulSoup,并提供两个示例。 安装BeautifulSoup 在使用BeautifulSoup之前,需要安装它。以下是一个示例代码,演示如何使用pip安装Bea…

    python 2023年5月15日
    00
  • 查找Numpy数组中每个字符串元素的长度

    要查找Numpy数组中每个字符串元素的长度,可以使用Numpy中的vectorized函数。 首先,需要创建一个包含字符串的NumPy数组,假设数组名为arr。 示例1: import numpy as np arr = np.array([‘hello’, ‘world’, ‘numpy’]) # 定义vectorized函数 vec_count = np…

    python-answer 2023年3月25日
    00
  • Python 迭代,for…in遍历,迭代原理与应用示例

    Python迭代 在Python中,迭代是指访问集合中每个元素的过程,而集合可以是列表、元组、字典或其他可迭代对象。在Python中,有多种方法可以迭代集合中的元素,比如for…in循环、列表推导式、生成器等。其中,for…in循环是最常用的方法之一。 for…in循环遍历 for…in循环可以遍历任何可迭代对象中的所有元素。语法如下: fo…

    python 2023年5月14日
    00
  • Python正则表达式中的re.S的作用详解

    Python正则表达式中的re.S的作用详解 在Python正则表达式中,re.S是一个特殊的标志,用于指定匹配任意字符,包含换行符。本文将为您细讲解re.S的作用和用法,并提供两个示例说明。 re.S的作用 re.S是re模块中的一个标志,用于指定匹配任意字符,包括换行符。在默认情况下,正则表达式只能匹配单行文本,即不包括换行符。但是,当我们使用.S标志时…

    python 2023年5月14日
    00
  • 解决Python正则表达式匹配反斜杠”\”问题

    解决Python正则表达式匹配反斜杠’\’问题 在Python中,反斜杠’\’是一个特殊字符,用于转义其他字符。但是,在正则表达式中,反斜杠也是一个特殊字符,用于表示特殊字符或字符集。因此,当我们需要匹配反斜杠本身时,需要进行特殊处理。本攻略将详细讲解如何解决Python正则表达式匹配反斜杠问题。 使用原始字符串 在Python中,我们可以使用原始字符串来避…

    python 2023年5月14日
    00
  • python判断字符串是否是json格式方法分享

    针对“python判断字符串是否是json格式方法分享”,我整理了以下完整攻略: 1. JSON格式简述 JSON(JavaScript Object Notation)是一种轻量级数据交换格式,易于阅读和编写,同时也易于机器解析和生成。JSON是JavaScript的一个子集,可由多种编程语言解析和生成。 JSON中常见的数据类型有:数字、字符串、布尔值、…

    python 2023年6月3日
    00
  • Python使用正则实现计算字符串算式

    Python使用正则实现计算字符串算式 在Python中,我们可以使用正则表达式来计算字符串算式。本文将详细讲解如何使用正则表达来计算字符串算式,包括基本语法、常用函数和两个示例说明。 基本语法 在Python中,我们可以使用re模块来处理正则表达式。以下是一些常用的正则表达式语法: \d:匹配数字。 \s:匹配空格。 \w:匹配字母、数字和下划线。 ():…

    python 2023年5月14日
    00
  • 详解Python语法之模块Module

    详解Python语法之模块Module 模块(Module) 是一个包含 Python 定义和语句的文件, 后缀名为 .py。模块能够定义函数, 声明变量, 可以包含运行起来的代码。 当我们需要在多个地方使用同一个功能时,我们可以将其定义为一个模块。Python 自带很多常用模块,如 os、sys、datetime、math 等。 模块的引入和使用 在 Py…

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