python -- 正则表达式

时间:2025-02-11 06:56:24
ret = ("","python pYTHON Python pYthon Pthon p=thon")
print(ret)
ret = ("","python pYTHON Python pYthon Pthon p thon p\nthon")
print(ret)

结果:
['python', 'pYthon', 'p=thon']
['python', 'pYthon', 'p thon']

快捷方式

快捷
标识
功能
\A
匹配字符串开始
\bword\b
词边界
\w
匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'
\W
匹配任何非单词字符。等价于 '[^A-Za-z0-9_]'
\d
匹配一个数字字符。等价于 [0-9]
\D
匹配一个非数字字符。等价于 [^0-9]
\s
匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]
\S
匹配任何非空白字符。等价于 [^ \f\n\r\t\v]

例子如下:(使用快捷键得加“r”)

## \bword\b ## ---数字、字符、下划线不算做边界
ret = (r"\bworld","hello world 123world =world  world123 ##world## abcworldabc")
print(list(ret))
ret1 = (r"world\b","hello world 123world =world  world123 ##world## abcworldabc")
print(list(ret1))
ret2 = (r"\bworld\b","hello world 123world =world  world123 ##world## abcworldabc")
print(list(ret2))

结果:
[< object; span=(6, 11), match='world'>, < object; span=(22, 27), match='world'>, < object; span=(29, 34), match='world'>, < object; span=(40, 45), match='world'>]
[< object; span=(6, 11), match='world'>, < object; span=(15, 20), match='world'>, < object; span=(22, 27), match='world'>, < object; span=(40, 45), match='world'>]
[< object; span=(6, 11), match='world'>, < object; span=(22, 27), match='world'>, < object; span=(40, 45), match='world'>]
 \B 匹配一个前后都无单词边界的字符串
ret = (r"\Bworld\B","hello _world world123 123world =world ##world## abcworldabc")
print(list(ret))

结果:
[< object; span=(51, 56), match='world'>]
# \w \W
ret = (r'\w',"python3#")
print(ret)
ret = (r'\W',"python3#")
print(ret)

结果:
['p', 'y', 't', 'h', 'o', 'n', '3']
['#']

开始与结束:^, $

匹配以python开头:^python
匹配以python结尾:python$
ret = ("^python","hello python")
print(ret)
ret1 = ("^python","python123#")
print(ret1)
ret2 = ("python$","hello python")
print(ret2)
ret3 = ("^python$","hello python")
print(ret3)

结果:
[]
['python']
['python']
[]