在前面我们学习了使用正则表达式的字符集合的表示方法,可以采用枚举的方法,也可以采用连接符的方法,但是还是觉得有些麻烦,比如字符集合,数字集合等等,这些集合可以预先定义好,这不是更加方便了吗?因此在正则表达式里就预先定义下面的这些集合:
代码 意义
\d 数字集合
\D 非数字集合
\s 分隔符 (tab, space, newline, etc.)
\S 非分隔符
\w 字母,数字,下划线
\W 非(字母,数字,下划线)
在这些集合前面有反斜线符号,它就叫做转义符号,意思是说在它后面字母的意义不一样。例子如下:
结果输出如下:
'\d+' (sequence of digits)
'A prime #1 example!'
.........'1'
'\D+' (sequence of non-digits)
'A prime #1 example!'
'A prime #'
..........' example!'
'\s+' (sequence of whitespace)
'A prime #1 example!'
.' '
.......' '
..........' '
'\S+' (sequence of non-whitespace)
'A prime #1 example!'
'A'
..'prime'
........'#1'
...........'example!'
'\w+' (alphanumeric characters)
'A prime #1 example!'
'A'
..'prime'
.........'1'
...........'example'
'\W+' (non-alphanumeric)
'A prime #1 example!'
.' '
.......' #'
..........' '
深入浅出Numpy
五子棋游戏开发
http://edu.csdn.net/course/detail/5487
代码 意义
\d 数字集合
\D 非数字集合
\s 分隔符 (tab, space, newline, etc.)
\S 非分隔符
\w 字母,数字,下划线
\W 非(字母,数字,下划线)
在这些集合前面有反斜线符号,它就叫做转义符号,意思是说在它后面字母的意义不一样。例子如下:
#python 3.6
#蔡军生
#http://blog.csdn.net/caimouse/article/details/51749579
#
from re_test_patterns import test_patterns
test_patterns(
'A prime #1 example!',
[(r'\d+', 'sequence of digits'),
(r'\D+', 'sequence of non-digits'),
(r'\s+', 'sequence of whitespace'),
(r'\S+', 'sequence of non-whitespace'),
(r'\w+', 'alphanumeric characters'),
(r'\W+', 'non-alphanumeric')],
)
结果输出如下:
'\d+' (sequence of digits)
'A prime #1 example!'
.........'1'
'\D+' (sequence of non-digits)
'A prime #1 example!'
'A prime #'
..........' example!'
'\s+' (sequence of whitespace)
'A prime #1 example!'
.' '
.......' '
..........' '
'\S+' (sequence of non-whitespace)
'A prime #1 example!'
'A'
..'prime'
........'#1'
...........'example!'
'\w+' (alphanumeric characters)
'A prime #1 example!'
'A'
..'prime'
.........'1'
...........'example'
'\W+' (non-alphanumeric)
'A prime #1 example!'
.' '
.......' #'
..........' '
..................'!'