match()方法;
必须从开头进行匹配,否则报错;
正则特点:即使字符串有问题,也不报错,返回None;所以使用group()方法。
规则 | 描述 | 示例 |
---|---|---|
\d ->> [0-9] | 匹配所有的数字 | text = '123-234-3456' result = re.match('[0-9]*',text) print(result.group()) #123 |
\D ->> [^0-9] | 匹配所有的非数字 | text = 'qa123-234-3456' result = re.match('[^0-9]+',text) print(result.group()) #qa |
\w ->> [0-9a-zA-Z_] | 匹配所有的字母、数字和下划线 | text = 'qa123-234-3456' result = re.match('[0-9a-zA-Z_]+',text) print(result.group()) #qa123 |
\W ->> [^0-9a-zA-Z_] | 匹配所有的非字母、数字和下划线 | text = '-()-123-234-3456' result = re.match('[^0-9a-zA-Z_]+',text) print(result.group()) #-()- |
[\d\D]、[\w\W] | 匹配所有的字符 | text = '-()-123-234-3456' result = re.match('[\d\D]+',text) print(result.group()) #-()-123-234-3456 |
规则 | 描述 | 示例 |
---|---|---|
* | 匹配0个或多个字符 | text = '123-234-3456' result = re.match('[-\d]*',text) print(result.group()) #123-234-3456 |
+ | 匹配1个或多个字符 | text = 'a123-234-3456' result = re.match('[a\d]+',text) print(result.group()) #a123 |
? | 要么匹配0个,要么匹配1个 | text = 'a123-234-3456' result = re.match('[a\d]?',text) print(result.group()) #a |
{m} | 匹配指定的个数(m) | text = '123-234-3456' result = re.match('[-\d]{4}',text) print(result.group()) #123- |
{m,n} | 匹配m到n个字符【默认匹配最多的】 | ext = '123-234-3456' result = re.match('[-\d]{2,6}',text) print(result.group()) #123-23 |
规则 | 描述 | 示例 |
---|---|---|
. | 匹配任意的某个字符【换行符除外】 如果要匹配(.)则放入 [ ] 里面即可。 | text = '-python' result = re.match('.',text) print(result.group()) #- |
\d | 只能匹配任意的数字【除了数字外均无法匹配】 | text = '8python' result = re.match('\d',text) print(result.group()) #8 |
\D | 除了数字外均可匹配【数字均无法匹配】 | text = '\npython' result = re.match('\D',text) print(result.group()) #换行 |
\s | 匹配空白字符【\n、\t、\r、空格】 | text = ' python' result = re.match('\s',text) print(result.group()) #空格 |
\w | 匹配小写的a-z;大写的A-Z';数字和下划线 | text = 'aA_4python' result = re.match('\w',text) print(result.group()) #a |
\W | 匹配除了小写\w之外的所有字符 | text = '-python' result = re.match('\W',text) print(result.group()) #- |
[ ] | 只要在括号内的内容均可匹配【或的关系】 | text = ' 1python' result = re.match('[1\s]',text) print(result.group()) #空 |