Python 正则学习三之字符集

现在有这样一个需求

有这样一个s字符串
s = 'abc, acc, adc, aec, afc, ahc'
s字符串中有以逗号分开的每组字符串,为了方便表述,将每组字符串暂时称为单词,现在就要提取其中单词的中间一个字母是c或是f的单词,关键是
所以就要有一个抽象,能概括cf,就有了字符集的概念了。

import re
s = 'abc, acc, adc, aec, afc, ahc'
r = re.findall('a[cf]c', s)
print(r)
--------------------------
输出:
['acc','afc']

普通字符可以和字符集一起使用,通常来说,普通字符是用来定界的。
普通字符可以在一个很大的字符串里面具体的确定某一个小段,普通字符一般来说都是这样的作用。

字符串的特性之一:出现在中括号中的字符是或的关系。
特性二:在中括号里第一个字符前加上向上的箭头符号^,就是取反的操作
import re
s = 'abc, acc, adc, aec, afc, ahc'
r = re.findall('a[^cf]c', s)
print(r)
---------------------------------------------------
输出:
['abc', 'adc', 'aec', 'ahc']

把每个单词的中间字符串既不是c也不是f的都找出来了。

特性三:字符是有顺序的 [cdef]可以写成[c-f]
import re
s = 'abc, acc, adc, aec, afc, ahc'
# r = re.findall('a[cdef]c', s)
r = re.findall('a[c-f]c', s)
print(r)
-----------------------------------------
输出:
['acc', 'adc', 'aec', 'afc']

把每个单词中间字符是 cdef的单词给找出来了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值