美文网首页
正则表达式的查询

正则表达式的查询

作者: 杜大个 | 来源:发表于2018-09-06 08:55 被阅读0次

    MySQL中使用用正则表达式 进行搜索

    本小节将学习如何在MySQL WHERE子句内使用正则表达式来更好地控制数据过滤。

    在使用正则表达式之前,我们首先要知道什么是真呢过则表达式?

    在开发中会有大量的字符串处理工作,其中经常会涉及到字符串格式的校验。

    思考 场景:如何判断一个字符串是手机号呢?

    13811011234000000000bdhhfjd
    1a3hi233rhi3
    87156340
    
    

    场景:在一个文件中,找到含有beicai的语句 测试文件

    hello beicai python
    www.baidu.com c++
    beicai ios
    beicai php
    
    

    场景:在一个文件中,找到邮箱为163或者126的所有邮件地址

    正则表达式概述

    • 正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。
      Regular Expression的“Regular”一般被译为“正则”、“正规”、“常规”。此处的“Regular”即是“规则”、“规律”的意思,Regular Expression即“描述某种规则的表达式”之意。

    目的 给定一个正则表达式和另一个字符串,我们可以达到如下的目的:

    1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”):
    2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。

    正则表达式语法支持情况

    DeepinScrot-1057

    正则表达式匹配的规则如下:

    8f0aa323-3824-4b95-b4e0-4ab337c7ab85

    python模块下的正则表达式,如何使用?

    Python 的 re 模块

    在 Python 中,我们可以使用内置的 re 模块来使用正则表达式。 有一点需要特别注意的是,正则表达式使用 对特殊字符进行转义,所以如果我们要使用原始字符串,只需加一个 r 前缀,示例: re 模块的一般使用步骤如下:

    • 使用 compile() 函数将正则表达式的字符串形式编译为一个 Pattern 对象
    • 通过 Pattern 对象提供的一系列方法对文本进行匹配查找,获得匹配结果,一个 Match 对象。
    • 最后使用 Match 对象提供的属性和方法获得信息,根据需要进行其他的操作

    compile 函数

    compile 函数用于编译正则表达式,生成一个 Pattern 对象,它的一般使用形式如下:

    import re 将正则表达式编译成 Pattern 对象 pattern = re.compile(r'\d+')

    修饰符号 描述 re.I 使用匹配对大小写不敏感(不区分大小写) re.S 使.匹配包括换行符在内的所有字符 re.M 多行匹配 re.L 做本地化识别

    在上面,我们已将一个正则表达式编译成 Pattern 对象,接下来,我们就可以利用 pattern 的一系列方法对文本进行匹配查找了。 Pattern 对象的一些常用方法主要有:

    • match 方法:从起始位置开始查找,一次匹配
    • search 方法:从任何位置开始查找,一次匹配
    • findall 方法:全部匹配,返回列表
    • finditer 方法:全部匹配,返回迭代器
    • split 方法:分割字符串,返回列表
    • sub 方法:替换

    相关文章

      网友评论

          本文标题:正则表达式的查询

          本文链接:https://www.haomeiwen.com/subject/tfetgftx.html