/* 看板娘 */ /* 粒子吸附*/

正则表达式

正则表达式是一门独立的语言  跟其他编程语言都没有关系!!

如果想在python 代码中使用正规 需要借助于妹纸模块re 

1、什么是正则表达式?

利用一些特殊符号的组合去字符串中筛选出符合条件的数据

  eg:

"""
1.必须是11位
2.必须是纯数字
3.必须符合手机号的排布  15 16 18 19
"""
import  re
phone_number = input('请输入您的手机号')
if re.match('^(13|14|15|18)[0-9]{9}$',phone_number):
    print('是合法的手机号码')
else:
    print('不是合法的手机号码')

字符组

特征:

是使用中括号括起来的 字符串默认只能单个字符匹配

[01234567889]#匹配0到9之间任何一个数字

可以简写[0-9]

[a-z]#匹配小写字母a到字母z其中任意一个字母

[A-Z]#匹配大侠字母中的任意一个字母

特殊符号默认也只能单个单个字符匹配
.   匹配除换行符意外的任意字符
\d   匹配数字
^   匹配字符串的开始
$    匹配字符串的结尾


"""^  and $组合使用可以精准限制要查找的数据“”“
a|b   匹配字符a或字符b

()   匹配括号内的表达式也表示一个组(不会影响正则表达式的匹配单纯的分组而已)

[...]  匹配字符组中的字符
[^...]   匹配除了数字组中字符的所有的字符

 

量词
1.表达式在没有量词修饰的情况下  都是单个但个匹配
2.量词必须结合(字符串,特殊符合等)一次使用  不能单独出现
3.量词只能影响前面的一个表达式(ab+  只能影响b)


*       重复零次或更多次
+       重复一次或更多次
?      重复一次或0次
{n}    重复n次
{n,}    重复n 次或更多次
{n,m}   重复n 到m 次

"""正则表达式中的量词默认都是'贪婪匹配'"""



### 贪婪匹配与非贪婪匹配

```python
# 带匹配的字符串
    <script>123</script>
# 正则表达式
    <.*>  '''默认贪婪匹配 尽可能多的匹'''
# 将贪婪变为非贪婪 只需要在量词的后面加问号即可
    <.*?> '''非贪婪匹配 尽可能少的匹  结束条件有左右两边决定'''
```

### 

 

posted @ 2021-11-24 19:49  红绿灯的黄呀  阅读(41)  评论(0)    收藏  举报