- #1
- 已编辑
进阶篇
要做更精确地匹配,可以用[]表示范围,比如:
[0-9a-zA-Z\_] 可以匹配一个数字、字母或者下划线;
[0-9a-zA-Z\_]+ 可以匹配至少由一个数字、字母或者下划线组成的字符串,比如'a100','0_Z','Py3000'等等;
[a-zA-Z\_][0-9a-zA-Z\_]* 可以匹配由字母或下划线开头,后接任意个由一个数字、字母或者下划线组成的字符
串,也就是 Python 合法的变量;
[a-zA-Z\_][0-9a-zA-Z\_]{0, 19} 更精确地限制了变量的长度是 1-20 个字符(前面 1 个字符+后面最多 19 个
字符)。
A|B 可以匹配 A 或 B,所以(P|p)ython 可以匹配'Python'或者'python'。
^ 表示行的开头,^\d 表示必须以数字开头。
$ 表示行的结束,\d$ 表示必须以数字结束。
你可能注意到了,py 也可以匹配'python',但是加上^py$就变成了整行匹配,就只能匹配'py'了。