admin 管理员组

文章数量: 887032


2023年12月19日发(作者:二维数组第一行值给一维数组)

python 匹配正则

正则表达式是一种强大的文本匹配工具,Python中也提供了re模块来支持正则表达式的使用。本文将通过一些简单的例子来介绍Python中如何使用正则表达式进行匹配。

1.基础正则表达式

正则表达式的基本语法如下:

. 匹配任意单个字符

d 匹配数字,相当于[0-9]

w 匹配字母、数字、下划线,相当于[A-Za-z0-9_]

s 匹配空格、制表符、换行符等空白字符

[] 匹配括号中的任意一个字符

| 匹配左右两边的任意一个表达式

() 分组,可以用于后续的引用

例如:

import re

# 匹配以a开头的字符串

result = ('a', 'abc')

print(()) # a

# 匹配数字

result = ('d', '123')

print(()) # 1

# 匹配字母、数字、下划线

- 1 -

result = ('w', 'a_1')

print(()) # a

# 匹配空白字符

result = ('s', ' a')

print(()) # (一个空格)

2.量词

量词用于控制匹配的次数,常见的量词包括:

* 匹配前面的字符0次或多次

+ 匹配前面的字符1次或多次

匹配前面的字符0次或1次

{n} 匹配前面的字符恰好n次

{n,} 匹配前面的字符至少n次

{n,m} 匹配前面的字符至少n次,至多m次

例如:

import re

# 匹配a出现0次或多次

result = ('a*', 'aaabbb')

print(()) # aaa

# 匹配a出现1次或多次

result = ('a+', 'aaabbb')

print(()) # aaa

# 匹配a出现0次或1次

- 2 -

result = ('a?', 'aaabbb')

print(()) # a

# 匹配a出现3次

result = ('a{3}', 'aaabbb')

print(()) # aaa

# 匹配a出现至少2次

result = ('a{2,}', 'aaabbb')

print(()) # aaa

# 匹配a出现至少1次,至多3次

result = ('a{1,3}', 'aaabbb')

print(()) # aaa

3.字符集

字符集用于匹配一组字符中的任意一个,常见的字符集包括:

[abc] 匹配a、b、c中的任意一个字符

[a-z] 匹配a到z中的任意一个小写字母

[A-Z] 匹配A到Z中的任意一个大写字母

[0-9] 匹配0到9中的任意一个数字

[^a] 匹配除了a以外的任意一个字符

例如:

import re

# 匹配a、b、c中的任意一个字符

result = ('[abc]', 'b')

- 3 -

print(()) # b

# 匹配a到z中的任意一个小写字母

result = ('[a-z]', 'c')

print(()) # c

# 匹配A到Z中的任意一个大写字母

result = ('[A-Z]', 'C')

print(()) # C

# 匹配0到9中的任意一个数字

result = ('[0-9]', '7')

print(()) # 7

# 匹配除了a以外的任意一个字符

result = ('[^a]', 'b')

print(()) # b

4.特殊字符

特殊字符用于匹配一些特殊的字符,常见的特殊字符包括:

匹配转义字符,例如匹配点号.可以使用.

^ 匹配字符串的开头

$ 匹配字符串的结尾

b 匹配单词边界

B 匹配非单词边界

例如:

import re

- 4 -

# 匹配转义字符,例如匹配点号可以使用.

result = ('a.b', 'a.b')

print(()) # a.b

# 匹配字符串的开头

result = ('^abc', 'abcdef')

print(()) # abc

# 匹配字符串的结尾

result = ('abc$', 'defabc')

print(()) # abc

# 匹配单词边界

result = l(r'btheb', 'the cat in the hat')

print(result) # ['the', 'the']

# 匹配非单词边界

result = l(r'BtheB', 'themethecatinthehat')

print(result) # ['the', 'the']

以上就是Python中使用正则表达式进行匹配的基础知识,希望对大家有所帮助。

- 5 -


本文标签: 匹配 字符 任意 用于 数组