• 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>
  • 相关阅读:
    Jenkins pipeline 流水线部署 并自定义 buildName 和 buildDescription 显示信息
    Jenkins中插件 pipeline 中声明式流水线的语法
    Linux 发送https POST请求sample ===Slack 频道中发送消息通知
    Jenkins pipline
    jenkins pipeline中获取shell命令的输出
    Chrome浏览器对标签进行整理和分组
    MacBook 对rar后缀的文件进行加压
    Macbook中Docker一栏的应用程序图标不见了,怎么找出来?
    [Pytest]运行指定的case
    软考 高项 重点知识点
  • 原文地址:https://www.cnblogs.com/MySweetheart/p/13337762.html
Copyright © 2020-2023  润新知