字符组中的字符排列顺序,出现重复字符都不会影响字符组的功能,但是为了简便易读,最好还是避免出现以上情况。
由于像[0123456789]这一字符组、以及[abcdefghijklmnopqrstuvwxyz]这样的字符组写起来较麻烦,因此,正则表达式提供了范围表示法 来简化字符组。
所谓范围表示法,就是用[x-y]的形式表示x到y范围内的字符,省去一一列举的麻烦。因此可以用[0-9]、[a-z]代替上面的字符组。
需要注意的是使用[0-9]可以,但不可使用[9-0]。因为在字符组中,-表示的范围是根据字符的码值来确定的,码值小的字符在前,码值大的字符在后。因此如果对ASCII码有所了解,可知0的码值为48(十进制),9的码值为57(十进制)。所以应写成[0-9]。其他的也一样。
当在字符组中存在一些难以输入或者难以显示的字符时,可以使用\x7F的形式,也可使用这种形式表示范围。如:
re.search("^[\x00-\x7F]$","c") != None #=>True
原文链接:https://www.f2er.com/regex/361377.html