Python学习(16):正则表达式(2)-字符集

正则中使用’[]’表示字符集,在中括号里添加任意多个元素,只要其中一个被匹配将会被正则识别。下面以代码的形式演示几种常用的字符集使用。

首先定义一个字符串string用于测试:

string = "aac, abc, acc, adc, aec, afc, agc"

1.字符集合:类似[xyz],匹配所包含的任意一个字符,例如,”[abc]”可以匹配”plain”中的”a”。

#示例:找出string中每个单词的中间字母是'c'或者'f'的单词
result1 = re.findall("a[cf]c",string)
print(result1)    #打印:['acc', 'afc']

2.负字符集合:类似[\^xyz],匹配未包含的任意字符,例如,”[^abc]”可以匹配”plain”中的”plin”。

#示例:找出string中每个单词的中间字母不是'c'或者'f'的单词
result2 = re.findall("a[^cf]c",string)
print(result2)    #打印:['aac', 'abc', 'adc', 'aec', 'agc']

3.字符范围:匹配指定范围内的任意字符。例如,“[a-z]”可以匹配“a”到“z”范围内的任意小写字母字符。
注意:只有连字符在字符组内部时,并且出现在两个字符之间时,才能表示字符的范围; 如果出字符组的开头,则只能表示连字符本身.

#示例:找出string中每个单词的中间字母是'c'和'f'范围内字符的单词
result3 = re.findall("a[c-f]c",string)
print(result3)    #打印:['acc', 'adc', 'aec', 'afc']

你可能感兴趣的:(Python,Python学习)