18 11 23 正则学习

Posted fromlantianwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了18 11 23 正则学习相关的知识,希望对你有一定的参考价值。

---恢复内容开始---

1  小程序    一     邮箱输入判断  系统

import re


def main():
    email = input("请输入你的邮箱")
    """下面的意思为  ^   开头   从a到z  A到Z 0到9  自动匹配 4到20位数字  由于 .  是什么都可算进去   所以加上  /  来解除他的功能
    最后用  $ 来当作结尾"""
    ret = re.match(r"^([a-zA-Z0-9]){4,20}@(163|126|qq).com$",email)
    if ret :
        print("%s是符合规范的"%email)
        user_emali = ret.group()  # 调用group的方法就可以 调用出匹配到的数据
        print(user_emali)

    else :
        print("%s 不是规范的"%email)

if __name__ == __main__:
    main()

 

小程序2   正则  提取网址代码  增加了分组功能   (难  了解)

import  re

html_str  = "<h1>hahahha</h1>"


judje = re.match(r"<(?P<name1>w*)>.*</(?P=name1)>",html_str)  # 用 (?P<name>)   和   (?P=name)  来进行分组定位
html = judje.group()  # 上面的P要  大写
print(html)

 

简单版 

import  re

html_str  = "<h1>hahahha</h1>"


judje = re.match(r"<(w*)>.*</1>",html_str)  # 用  ()()  2 1   1 就是括号一内容  2 就是第二个括号的内容
html = judje.group()  
print(html)

re 的  高级用法   match 是从头开始搜索   那么 search  是从数据里面找到你想要的 数值

import re

ret = re.search(r"d+","阅读数量 9999+")

information = ret.group()
print(information)

search  是找到第一个符合要求的值  相对于search来说   findall可以用来找出多个满足的值  并且 不用group  直接返回一个列表

import re

ret = re.search(r"d+","阅读数量 9999+")

information = ret.group()
print(information)

sub  替换   re.sub(正则出要替换的数据  ,  新的数据  , 被替换的文字列)

import  re

ret  = re.sub(r"d+","666","python = 9999 ,  a = 20398098 , b = 098098")
print(ret)

 

 

 

 

 

 

---恢复内容结束---

以上是关于18 11 23 正则学习的主要内容,如果未能解决你的问题,请参考以下文章

译文:18个实用的JavaScript代码片段,助你快速处理日常编程任务

正则校验之身份证

Oracle:一个复杂案例的正则表达式

正则表达式

vscode代码片段建议bug

正则表达式