vcbeaut 发表于 2020-11-2 16:32:14

正则使用

x = ['123a_b123,123a_c123,123a_d123,123a_e123']


我想用正则匹配出a_c, a_d, a_e,不要a_b。怎么写?

Brick_Porter 发表于 2020-11-2 16:58:29

import re

x = ['123a_b123,123a_c123,123a_d123,123a_e123']

mo = re.findall(
    r'''
    (?<=\d{3})# 非捕获分组,如果前面是三个数字就匹配后面的内容
    .*?         # 非数字字符
    (?=\d{3})   # 非捕获分组''',
    x,
    re.X)

print(mo)

Brick_Porter 发表于 2020-11-2 17:00:34

import re

x = ['123a_b123,123a_c123,123a_d123,123a_e123']

mo = re.findall(r'[^1-3]{3}', x)
print(mo)

这个更简单一些

vcbeaut 发表于 2020-11-2 17:08:36

Brick_Porter 发表于 2020-11-2 17:00
这个更简单一些

不要a_b,这个好像没有把b除开哦

Brick_Porter 发表于 2020-11-2 17:12:00

vcbeaut 发表于 2020-11-2 17:08
不要a_b,这个好像没有把b除开哦

这样的话就更简单了import re

x = ['123a_b123,123a_c123,123a_d123,123a_e123']

mo = re.findall(r'a_[^b]', x)
print(mo)

vcbeaut 发表于 2020-11-2 17:21:20

Brick_Porter 发表于 2020-11-2 17:12
这样的话就更简单了

大哥厉害
页: [1]
查看完整版本: 正则使用