📅  最后修改于: 2023-12-03 15:10:17.238000             🧑  作者: Mango
正则表达式是一种类似于字符串的模式匹配语言,它被广泛应用于数据提取、搜索和替换等各种文本操作中。在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地址,可以使用如下正则表达式:
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的基础和示例,希望对大家有所帮助。