访问量: 9 次浏览
正则表达式是一种用于字符串匹配的工具,它可以满足我们在不同场景下的字符串匹配需求。
例如,我们可以使用正则表达式来匹配一个电子邮件地址、它可能包含小写字母、大写字母、数字、下划线、句点和@符号。
正则表达式是由一个或多个字符组成的模式,这些模式可以在搜索文本时进行匹配。
\d ?\d 代表一位数字,其匹配的是任意一个阿拉伯数字(0~9)。
例如,如果我们要匹配一个字符串中的所有数字,我们可以使用 \d :
import re
pattern = r'\d' # 匹配单个数字
test_str = 'hello 12345'
result = re.findall(pattern, test_str)
print(result) # ['1', '2', '3', '4', '5']
上述代码中, r'\d' 表示匹配单个数字的正则表达式。
\d 可以与其他正则表达式字符一起使用,匹配不同的数字格式。
我们可以通过在 \d 后面加上 + 字符,匹配多个数字。
例如,如果我们要匹配一个字符串中的所有数字,包括多位数字,我们可以使用 \d+ :
import re
pattern = r'\d+' # 匹配多个数字
test_str = 'hello 12345 6789'
result = re.findall(pattern, test_str)
print(result) # ['12345', '6789']
上述代码中, r'\d+' 表示匹配多个数字的正则表达式。
我们可以使用花括号{}表示数量,这样可以指定匹配的数字个数。例如, \d{3} 表示匹配3位数字。
例如,如果我们要匹配一个字符串中的所有3位数字,我们可以使用 \d{3} :
import re
pattern = r'\d{3}' # 匹配3位数字
test_str = 'hello 12345 6789 987 456 34567 234'
result = re.findall(pattern, test_str)
print(result) # ['123', '678', '987', '456', '345', '234']
上述代码中, r'\d{3}' 表示匹配3位数字的正则表达式。
有时候我们需要匹配以数字开头的字符串。可以使用 ^ 表示字符串开始。
例如,如果我们要匹配一个字符串的开头是数字的字符串,我们可以使用 ^\d :
import re
pattern = r'^\d' # 匹配数字开头字符串
test_str = '12345 hello world 6789'
result = re.findall(pattern, test_str)
print(result) # ['1']
上述代码中, r'^\d' 表示匹配数字开头的字符串的正则表达式。
同样,我们也可以匹配以数字结尾的字符串。可以使用 $ 表示字符串结束。
例如,如果我们要匹配一个字符串的结尾是数字的字符串,我们可以使用 \d$ :
import re
pattern = r'\d$' # 匹配数字结尾字符串
test_str = 'hello 12345 6789'
result = re.findall(pattern, test_str)
print(result) # ['9']
上述代码中, r'\d$' 表示匹配数字结尾的字符串的正则表达式。
\d 匹配的是数字,如果我们想匹配除数字外的其他字符,我们可以使用 \D 。
例如,如果我们要匹配一个字符串中除数字外的所有字符,我们可以使用 \D :
import re
pattern = r'\D' # 匹配除数字外的其他字符
test_str = 'hello 12345 6789'
result = re.findall(pattern, test_str)
print(result) # ['h', 'e', 'l', 'l', 'o', ' ', ' ', ' ']
上述代码中, r'\D' 表示匹配除数字外的其他字符的正则表达式。
正则表达式 \d 是用于匹配阿拉伯数字(0~9)的基本元字符,我们可以通过它来达到匹配数字、多位数字、指定数字等不同需求。
在实际编程中,正则表达式 \d 也常被广泛应用。