精华内容
下载资源
问答
  • 正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。 写出匹配SQL语句中的所有表名,备忘记录 折磨了好久,正则...
  • 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^\x00-\xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,...
  • 易语言正则表达式匹配中文源码,正则表达式匹配中文,搜索
  • 今天小编就为大家分享一篇Python实现正则表达式匹配任意的邮箱方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 主要介绍了Python 正则表达式匹配数字及使用正则表达式找出字符串中的纯数字,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
  • 主要介绍了Python使用中文正则表达式匹配指定中文字符串的方法,结合实例形式分析了Python正则匹配及字符编码相关操作技巧,需要的朋友可以参考下
  • 主要介绍了Python正则匹配数字和小数的方法,本文通过示例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • 实现3-11正则表达式匹配问题.cpp
  • 今天小编就为大家分享一篇js正则表达式 匹配两个特定字符间的内容示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 正则表达式匹配手机尾号,AAAB abbb abab abcd 正则表达式匹配手机尾号,AAAB abbb abab abcd
  • 正则表达式的介绍应用方式,各类正则表达式详解,数据库用正则表达式能更快捷的查询。
  • 网上关于度分秒的经纬度提取我用不了,搞了好久的正则表达式,大家可以参考一下,如果有更好的方法,可以分享一下。
  • 正则表达式正则表达式.zip
  • 以下为正确的正则表达式匹配规则: ([\s\S]*) 同时,也可以用 “([\d\D]*)”、“([\w\W]*)” 来表示。 Web技术之家_www.waweb.cn 在文本文件里, 这个表达式可以匹配所有的英文 /[ -~]/ 您可能感兴趣的文章:比较...
  • 本文介绍在C#中使用匹配中文的正则表达式,包括纯中文、有中文、中文开头、中文结尾等几个正则表达式示例。在正则表达式中,中文可以通过Unicode编码来确定正则表达式范围。 在C#中,匹配中文的正则表达式用Unicode...
  • 主要给大家介绍了关于Java正则表达式如何匹配特定html标签内的内容的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 主要介绍了正则表达式教程之重复匹配,结合实例形式分析了正则表达式重复匹配及防止过度匹配相关技巧,需要的朋友可以参考下
  • 主要介绍了Java正则表达式匹配、替换、查找和切割等操作,对于正则表达式匹配、替换大家已经不陌生了吧
  • java通过正则表达式匹配获取MAC(支持windows和Linux)
  • split函数按照空格拆分,兼容全角空格、半角空格
  • g修饰符用语规定正则表达式执行全局匹配,也就是在找到第一个匹配之后仍然会继续查找
  • Oracle正则表达式匹配

    千次阅读 2020-12-16 00:28:17
    Oracle从10g开始支持正则表达式 元字符(metacharacters) POSIX 正则表达式由标准的元字符(metacharacters)所构成: '^' 匹配输入字符串的开始位置,在方括号表达式中使用,此时它表示不接受该字符集合。 '$' ...

    Oracle从10g开始支持正则表达式

    元字符(metacharacters)

    POSIX 正则表达式由标准的元字符(metacharacters)所构成:

    '^' 匹配输入字符串的开始位置,在方括号表达式中使用,此时它表示不接受该字符集合。
    '$' 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹
    配 '\n''\r''.' 匹配除换行符之外的任何单字符。
    '?' 匹配前面的子表达式零次或一次。
    '+' 匹配前面的子表达式一次或多次。
    '*' 匹配前面的子表达式零次或多次。
    '|' 指明两项之间的一个选择。例子'^([a-z]+|[0-9]+)$'表示所有小写字母或数字组合成的
    字符串。
    '( )' 标记一个子表达式的开始和结束位置。
    '[]' 标记一个中括号表达式。
    '{m,n}' 一个精确地出现次数范围,m=<出现次数<=n,'{m}'表示出现m次,'{m,}'表示至少
    出现m次。
    \num 匹配 num,其中 num 是一个正整数。对所获取的匹配的引用。
    字符簇:
    [[:alpha:]] 任何字母。
    [[:digit:]] 任何数字。
    [[:alnum:]] 任何字母和数字。
    [[:space:]] 任何白字符。
    [[:upper:]] 任何大写字母。
    [[:lower:]] 任何小写字母。
    [[:punct:]] 任何标点符号。
    [[:xdigit:]] 任何16进制的数字,相当于[0-9a-fA-F]。
    各种操作符的运算优先级
    \转义符
    (), (?:), (?=), [] 圆括号和方括号
    *, +, ?, {n}, {n,}, {n,m} 限定符
    ^, $, anymetacharacter 位置和顺序
    

    在这里插入图片描述

    ORACLE中的支持正则表达式的函数如下:

    • REGEXP_LIKE:用POSIX 正则表达式替代百分号(%)和通配符(_)字符进行模糊匹配;
    • REGEXP_INSTRinstr:返回一个字符串在另一字符串中的位置):返回正则表达式匹配的字符串在另一字符串中的位置;
    • REGEXP_SUBSTRinstr:根据指定位置截取字符串):使用正则来指定返回字符串的起点和终点;
    • REGEXP_REPLACE:替换字符串中的某个值,是REPLACE的增强版,支持正则表达式,扩展了一些功能;
    • REGEXP_COUNT:返回在源串中出现的模式的次数,作为对REGEXP_INSTR函数
      的补充。

    1 . REGEXP_LIKE

    regexp_like( source_string, pattern [match_parameter] )
    
    • source_string:源字符串
    • pattern :正则表达式
    • match_parameter:匹配模式
      i:不区分大小写;c:区分大小写;n:允许使用可以匹配任意字符串的操作符;m:将x作为一个包含多行的字符串。默认为’c’

    例: 判断字符串是否以“201”或者“202”开头

    SELECT 1 FROM DUAL WHERE REGEXP_LIKE('201','^201|202');  -- 结果为1
    SELECT 1 FROM DUAL WHERE REGEXP_LIKE('200','^201|202');  -- 无结果
    -- 也可以这么写
    SELECT 1 FROM DUAL WHERE REGEXP_LIKE('202','^20[12]');  -- 结果为1
    

    2. REGEXP_INSTR

    3. REGEXP_SUBSTR

    REGEXP_SUBSTR 函数使用正则表达式来指定返回串的起点和终点。

    语法

    regexp_substr(source_string,pattern[,position[,occurrence[,match_parameter]]])
    
    source_string:源串,可以是常量,也可以是某个值类型为串的列。
    position:从源串开始搜索的位置。默认为1。
    occurrence:指定源串中的第几次出现。默认值1.
    match_parameter:文本量,进一步订制搜索,取值如下:
    'i'     用于不区分大小写的匹配。
    'c'    用于区分大小写的匹配。
    'n'    允许将句点“.”作为通配符来匹配换行符。如果省略改参数,句点将不匹配换行符。
    'm'   将源串视为多行。即将“^”和“$”分别看做源串中任意位置任意行的开始和结束,
    而不是看作整个源串的开始或结束。如果省略该参数,源串将被看作一行来处理。
    如果取值不属于上述中的某个,将会报错。如果指定了多个互相矛盾的值,将使用最后一个值。如'ic'会被当做'c'处理。
    省略该参数时:默认区分大小写、句点不匹配换行符、源串被看作一行。
    

    例: 将表中PROVINCE字段中以市,省,自治区开头的部分截取出来。

    SELECT  REGEXP_SUBSTR(PROVINCE,'.*?[市|省|自治区]+') FROM TABLE_NAME;
    -- 结果为 
    湖南省
    上海市
    宁夏自治区
    四川省自
    ----------有问题  四川省这里把“自"也匹配进来了
    ----------修改如下,把字符串用括号包起来保证不被作为单个字符,而是字符串匹配
    SELECT  REGEXP_SUBSTR(PROVINCE,'.*?([市]+|[省]+|[自治区]+)') FROM TABLE_NAME;
    

    4. REGEXP_REPLACE

    REPLACE 函数用于替换串中的某个值。
    语法:
    replace(char,search_string[,replace_string]) 如果不指定replace_string,会将搜索到的值删除。

    REGEXP_REPLACEREPLACE 的增强版,支持正则表达式,扩展了一些功能。

    语法

    regexp_replace(source_string,pattern[,replace_string[,position[,occurrence[,match_parameter]]]])
    

    例: 将表中NAME字段中间第二个字进行脱敏,改为 ”*“

    SELECT REGEXP_REPLACE('王女士大幅回升','(.)','*',2,1) AS NAME
    FROM DUAL ;
    -- 表示从第2个字符开始,取任意1个字符,替换为*;;
    -- 结果为 *士大幅回升
    

    参考:

    Oracle正则表达式使用介绍

    Oracle中的正则表达式(及函数)详解

    展开全文
  • 求一个正则表达式匹配日期类型 日期格式为 "yyyy-MM-dd",考虑到要符合多种格式,不受0的影响例如 "2018-1-1" "2018-01-01" "2018-001-002" //前面可以添加任意个0 可以忽略平年和闰年的影响...
  • JS正则表达式匹配手机号

    千次阅读 2020-12-05 23:02:23
    JS正则表达式匹配手机号 大家好,有关正则表达式的基本知识在其它文章中已做了介绍: 下面一起来看看JS中利用正则表达式匹配字符串的常用例子: 手机号匹配 var pattern = new RegExp("^1[34578][0-9]{9}$", 'i'); ...

    JS中常用正则表达式举例一

    JS正则表达式匹配手机号

    大家好,有关正则表达式的基本知识在其它文章中已做了介绍:
    JS属性&方法详解

    下面一起来看看JS中利用正则表达式匹配字符串的常用例子:

    手机号匹配

    var pattern = new RegExp("^1[34578][0-9]{9}$", 'i');
    
    规定:

    (关于手机号的匹配问题,在此处只做了基础规定,实际上涉及到了中国各大运营商的分配问题,很抱歉,目前小白能力有限,不能做深入了解)

    • 手机号的第一位数字必须为1;
    • 手机号的第二位数字为 3 4 5 7 8 中的一个;
    • 手机号的后九位数字均为0-9;
    程序执行效果图:

    (为了让效果对比明显,特意设置了三个输入文本框,进行对比)
    效果对比图

    代码

    (小细节均在代码注释中列出,如果不合适的地方,还请指导)
    下面的图对代码进行了分析,欢迎有兴趣的小伙伴可以一起探讨啊
    代码讲解图

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>telephone匹配</title>
        <style>
            .default {
                border: 3px solid #a5a3a3a1;
            }
            
            .success {
                border: 3px solid #06fd3b;
            }
            
            .failure {
                border: 3px solid #fd3e04;
            }
        </style>
    </head>
    
    <body>
        <!-- 为了对比效果明显,设置了三个文本输入框 -->
        <label for="telephone">手机号码:</label>
        <input type="text" name="telephone" id="telephone" class="telephone default">
        <br/><br/>
        <label for="telephone">手机号码:</label>
        <input type="text" name="telephone" id="telephone" class="telephone default">
        <br/><br/>
        <label for="telephone">手机号码:</label>
        <input type="text" name="telephone" id="telephone" class="telephone default">
    
        <!-- script语句 -->
        <script>
            var telephones = document.querySelectorAll(".telephone");
    
            telephones.forEach(function(telephone) {
                telephone.addEventListener("keyup", function(e) {
                    // 正则表达式的定义两种方式:
                    // var pattern = /^1[34578][0-9]{9}$/;
                    var pattern = new RegExp("^1[34578][0-9]{9}$", 'i');
    
                    // 获取input输入框所输入的值
                    var telephone = e.target.value;
    
                    // 将规定的pattern与input输入框中所输入的值进行匹配
                    if (pattern.test(telephone)) {
                        // 匹配成功,添加success样式,移去failure样式
                        if (!e.target.classList.contains("success")) {
                            e.target.classList.add("success");
                        }
                        if (e.target.classList.contains("failure")) {
                            e.target.classList.remove("failure");
                        }
                    } else {
                        // 匹配不成功,添加failure样式,移去success样式
                        if (!e.target.classList.contains("failure")) {
                            e.target.classList.add("failure");
                        }
                        if (e.target.classList.contains("success")) {
                            e.target.classList.remove("success");
                        }
                    }
                });
            });
        </script>
    </body>
    
    </html>
    

    代码还有优化之处,欢迎小伙伴一起探讨学习,也欢迎大佬指导教学!

    展开全文
  • c#中使用正则表达式需要加入using System.Text.RegularExpressions的引用
  • 匹配中国大陆手机号码正则表达式
  • Findstr使用正则表达式搜索文件中的文本模式。
  • 已经有多篇关于正则表达式介绍的文章,随着我们越来越多使用正则表达式,想对性能做优化、减少我们正则表达式书写匹配Bug。我们不得不进一步深入了解正则表达式执行过程了
  • 正则表达式匹配手机号码

    万次阅读 2020-08-16 23:46:46
    正则表达式匹配手机号码 最近在学习正则表达式,在这里写一个手机号码的匹配表达式 手机号码的规则 11位,第一位一定是1 第二位和第三位根据不同运营商的号码段有所区别,只有有限的组合是合法的手机号码 后8位可以...

    正则表达式匹配手机号码

    最近在学习正则表达式,在这里写一个手机号码的匹配表达式

    手机号码的规则

    • 11位,第一位一定是1
    • 第二位和第三位根据不同运营商的号码段有所区别,只有有限的组合是合法的手机号码
    • 后8位可以是任意数字

    表达式

    ^1(3[0-9]|5[0-3,5-9]|7[1-3,5-8]|8[0-9])\d{8}$
    
    解释:
    ^:代表起始,即手机号码只能以1为开头
    3[0-9]:代表手机号码第二位可以是3,第三位可以是0-9中任意一个数字
    5[0-3,5-9]:代表手机号码第二位也可以是5,第三位是0-3和5-9中的任意一个数字
    在这里,以3开头的,以5开头的,以及以8开头的三种情况,我们用“|”来将他们隔开
    \d:匹配一个数字字符,等价于 [0-9]
    $:终止符,代表不可以再有第12位了
    

    测试用例

    import re,sys#导入正则模块
    
    def example():
        phone_numbers_true=['13912345678','15912345678','17212345678','18212345678']
        phone_numbers_false=['124344534543','4454543534','1234521345']
        for i in phone_numbers_true:
            ret=re.match(r"^1(3[0-9]|5[012356789]|7[1235678]|8[0-9])\d{8}$",i)
            if not ret:
                print("测试用例"+i+"未通过校验,程序终止,该正则表达式不正确!")
                sys.exit()
        for i in phone_numbers_false:
            ret=re.match(r"^1(3[0-9]|5[012356789]|7[1235678]|8[0-9])\d{8}$",i)
            if ret:
                print("测试用例"+i+"未通过校验,程序终止,该正则表达式不正确!")
                sys.exit() 
        print("全部测试用例通过")
            
    example()
    
    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 384,636
精华内容 153,854
关键字:

正则表达式匹配