zoukankan      html  css  js  c++  java
  • js正则

    部分正则:

    (?:...) 表示非捕获型分组,就是不会缓存下来,留着后面再用
    ? 它表示重复0或1次
    (...) 表示一个捕获型分组(capturing group)。一个捕获型分组将复
    制它所匹配的文本,并将其放人result数组中。每个捕获型分组都将被指定一个编号。第
    一个捕获型分组的编号是1,所以该分组所匹配的文本考贝将出现在result[1]中
    + 表示匹配一次或者多次
    表示转义
    . 表示会将匹配除行结束符以外的所有字符
    d 表示数字

    [^?#]

    表示以一个^开始,它表示这个类包含除?和#之外的所有字符。*表示这个字符类将被匹配0次或多次。

     

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title></title>
        </head>
        <body>
            <script>
                var agreement ='http:';
                var reg = /^(?:([A-Za-z]+):)?$/;
                console.log(reg.test(agreement));//true
                
                //非捕获型分组 参考https://www.cnblogs.com/yangyang63963/p/5692992.html
                var tmp1 = "project",tmp2 = "program",tmp3 = "professional"
                var reg2 = /pro(?:gram|ject)/
                console.log(reg2.test(tmp1))//true
                console.log(reg2.test(tmp2))//true
                console.log(reg2.test(tmp3))//false
                
                var bar = "///";
                var reg3 = /(/{0,3})/;//表示/可以重复0到3次
                console.log(reg3.test(bar));//true
                
                var hostname = "www.b-aidu.com";
                var reg4 = /([0-9.-A-Za-z]+)/;
                console.log(reg4.test(hostname));//true
                
                var port ="::80";
                var reg5 = /(?::(d+))?/
                console.log(reg5.test(port));//true
                
                var bar2 = "/#";
                var reg6 = /(?:/([^?#]*))?/ //主机名后/后面可以写#
                console.log(reg6.test(bar2));//true
                
                var content = "#afsafsa";
                var reg7 = /(?:?([^#]*))?/
                console.log(reg7.test(content));//true
                
                var content1 = "hufahifiahi4828471$@#$!%^!@%#!!"
                var reg8 = /(?:#(.*))?/;
                console.log(reg8.test(content1));//true
                
                var url = "https://www.ora.com:80/goodparts?q#fragment";
                var urlTest = /^(?:([A-Za-z]+):)?(/{0,3})([0-9.-A-Za-z]+)(?::(d+))?(?:/([^?#]*))?(?:?([^#]*))?(?:#(.*))$/
                console.log(urlTest.test(url))
                
                var parse_number = /^-?d+(?:.d*)?(?:e[+-]?d+)?$/i;
                console.log(parse_number.test('9999.e-1'));
            </script>
        </body>
    </html>
  • 相关阅读:
    linux系统常用命令
    oracle resetlog与noresetlog的作用(转载)
    RMAN备份之非归档模式下的备份
    查看oracle锁及解决办法
    夫夷以近,则游者众,险以远,则至者少!
    (转)一个10年程序员职业发展、总结和困境
    在myeclipse中写sql语句的细节问题
    myeclipse查询mysql出来的汉字是乱码
    如何将DB2的数据库转换到mySQL中?
    笔记本建立wifi热点的实用详细步骤
  • 原文地址:https://www.cnblogs.com/MySweetheart/p/13337762.html
Copyright © 2011-2022 走看看