📜  数字正则表达式 python (1)

📅  最后修改于: 2023-12-03 15:10:17.238000             🧑  作者: Mango

数字正则表达式 Python

正则表达式是一种类似于字符串的模式匹配语言,它被广泛应用于数据提取、搜索和替换等各种文本操作中。在Python中,可以使用re模块来操作正则表达式。本文将介绍如何编写数字正则表达式,并介绍一些常用的数字正则表达式示例。

数字正则表达式基础
匹配数字

匹配任意数字的正则表达式是[0-9],这个正则表达式可以匹配数字0~9。例如,要匹配一个数字字符串,可以使用如下代码:

import re

# 匹配一个数字字符串
pattern = r'[0-9]'
text = 'A1B2C3D4E5F6'
result = re.findall(pattern, text)
print(result)

输出:

['1', '2', '3', '4', '5', '6']
匹配多个数字

如果要匹配多个数字,可以使用+*符号。+符号表示匹配一个或多个前面的字符,*符号表示匹配零个或多个前面的字符。例如,要匹配多个连续数字的字符串,可以使用如下代码:

import re

# 匹配多个连续数字的字符串
pattern = r'[0-9]+'
text = 'A1B23C456D7890E'
result = re.findall(pattern, text)
print(result)

输出:

['1', '23', '456', '7890']
匹配固定长度数字

如果要匹配固定长度的数字,可以使用{n}符号,其中n为数字长度。例如,要匹配长度为3的数字字符串,可以使用如下代码:

import re

# 匹配长度为3的数字字符串
pattern = r'[0-9]{3}'
text = 'A123B456C789D'
result = re.findall(pattern, text)
print(result)

输出:

['123', '456', '789']
匹配数字开头或结尾

如果要匹配以数字开头或结尾的字符串,可以使用^$符号。^符号表示匹配以该字符开头的字符串,$符号表示匹配以该字符结尾的字符串。例如,要匹配以数字开头或结尾的字符串,可以使用如下代码:

import re

# 匹配以数字开头或结尾的字符串
pattern = r'^[0-9]+|[0-9]+$'
text = '123ABCDEF456'
result = re.findall(pattern, text)
print(result)

输出:

['123', '456']
数字正则表达式示例
匹配IP地址

要匹配IP地址,可以使用如下正则表达式:

import re

# 匹配IP地址
pattern = r'^([01]{0,1}[0-9]{1,2}|2[0-4][0-9]|25[0-5])(\.([01]{0,1}[0-9]{1,2}|2[0-4][0-9]|25[0-5])){3}$'
text = '192.168.0.1'
result = re.findall(pattern, text)
print(result)

输出:

['192.168.0.1']
匹配邮箱

要匹配邮箱,可以使用如下正则表达式:

import re

# 匹配邮箱
pattern = r'^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$'
text = 'test@mail.com'
result = re.findall(pattern, text)
print(result)

输出:

['test@mail.com']
匹配手机号

要匹配手机号,可以使用如下正则表达式:

import re

# 匹配手机号
pattern = r'^1([38]\d|4[5-9]|5[0-35-9]|6[567]|7[013-8]|9[89])\d{8}$'
text = '13912345678'
result = re.findall(pattern, text)
print(result)

输出:

['13912345678']

以上是数字正则表达式Python的基础和示例,希望对大家有所帮助。