Python 3.6 正则表达式一

"""
正则表达式的主要功能就是匹配字符串
"""

import re

# 基本用法
ret = re.findall('world', "hello world**Worldworld")  # 查找制定字符串,以list形式返回
print(ret)
"""
原字符
"""

# 1. '.' 通配符:代表任意字符,一个点一个字符
ret = re.findall('w...d', "hello world")
print(ret)  # ['world']

ret = re.findall('w...d', "hello w\nrld")
print(ret)  # [] 除了\n其他都行,当然也可以通过修改findall的第三个参数去修改成连\n都能匹配

# 2. '^' 尖角符:必须从字符串的起始位置开始匹配,不考虑后续字符串中是否存在
ret = re.findall('^w...d', "hello world")
print(ret)  # []

ret = re.findall('^w...d', "worldhello world")
print(ret)  # ['world']

# 3. '$' 只从最后开始匹配
ret = re.findall('w...d', "hello world!!")
print(ret)  # ['world']

ret = re.findall('w...d$', "hello world!!")
print(ret)  # []

ret = re.findall('w...d$', "hello world!!world")
print(ret)  # ['world']

# *************************************************************

# 4. '*' 重复匹配 允许*之前的一个字符重复多次

ret = re.findall('hello*world', 'hellooooooworld')
print(ret)  # ['hellooooooworld']

ret = re.findall('hello.*world', 'hello@@sssworld')  # 如果我使用通配符'.'他就能匹配任意字符
print(ret)  # ['hello@@sssworld']

# 5. '+' 也是重复匹配 但是至少得有一个
ret = re.findall('hello*world', 'hellworld')
print(ret)  # ['hellworld']

ret = re.findall('hello+world', 'hellworld')
print(ret)  # []
# 也就是说'+'号之前的o,在目标字符串里必须出现一次,但是'*'号允许一次也不出现

# 6. '?' 还是重复匹配,但是只能是0次或者1次多了就不行
ret = re.findall('hello?world', 'hellworld')
print(ret)  # ['hellworld']

ret = re.findall('hello?world', 'helloworld')
print(ret)  # ['helloworld']

ret = re.findall('hello?world', 'helloooworld')
print(ret)  # []

# 7. '{}' 大括号也是重复匹配,但是匹配几次自己可以设置
ret = re.findall('a{5}b', 'aaaabbaaa')  # 要求a重复5次
print(ret)  # []

ret = re.findall('a{5}b', 'aaaaabbaaa')
print(ret)  # ['aaaaab']

ret = re.findall('a{1,3}b', 'ba***aab***aaab***aaaaaaaabaaa')
print(ret)  # ['aab', 'aaab', 'aaab']

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值