• js正则表达式截取字符串开头、结尾、以及两字符串之间的内容


    js正则表达式截取字符串

    1.正则表达式写法简介

    var expression = / pattern /flags;
    其中模式(pattern)部分可以是任何简单或复杂的正则表达式,每个正则表达式都带有一个或多个标签(flags)用以标明正则表达式的行为
     

    var strMatch = `-rw-r--r--. 1 root root   114769 Apr 26 15:39 CN_CM_SHANGHAI_24709063_M.mtl
                    -rw-r--r--. 1 root root 2879642 Apr 26 15:39 CN_CM_SHANGHAI_2470190623_Q.obj`;
    2.截取字符串中以CN_开头.mtl结尾的部分(包含开头和结尾)

    var matchReg = /CN_.*?.mtl/gi;
    console.log(strMatch.match(matchReg));//输出 CN_CM_SHANGHAI_24709063_M.mtl
    这里

    .表示除换行符 之外的任意字符

    *匹配前面的子表达式0次或多次

    ?匹配前面的子表达式零次或一次,或指明一个非贪婪限定符

    .是匹配.

    g全局匹配

    i不区分大小写

    3.截取字符串以CN_开头,以.mtl之前的内容结尾

    var matchReg = /CN_.*?(?=.mtl)/gi;
    console.log(strMatch.match(matchReg));//输出CN_CM_SHANGHAI_24709063_M
    (?=.mtl) 表示以.mtl结尾的前面字符串,不包含.mtl

    4.截取字符串CN_和.mtl之间的内容(不包含CN_和.mtl)

    var matchReg = /(?<=CN_).*?(?=.mtl)/;
    console.log(strMatch.match(matchReg));//输出 CM_SHANGHAI_24709063_M
     

    (?<=CN_)表示获取CN_之后的字符串。不包含CN_

    5.同理,获得CN_之后(不包括CN_), .mtl之前的。(包括.mtl)的字符串方法

    var matchReg = /(?<=CN_).*?.mtl/;
    console.log(strMatch.match(matchReg));//输出 CM_SHANGHAI_24709063_M.mtl
    6.输出以CN_开头,.mtl或者.obj结尾的字符串

    var matchReg = /CN_.*?(.mtl|.obj)/;
    console.log(strMatch.match(matchReg));//输出 CN_CM_SHANGHAI_24709063_M.mtl和CN_CM_SHANGHAI_2470190623_Q.obj
    7.输出以CN_开头,以.mtl或者.obj结尾之前的内容

    var matchReg = /CN_.*?(?=(.mtl|.obj))/;
    console.log(strMatch.match(matchReg));//输出 CN_CM_SHANGHAI_24709063_M和CN_CM_SHANGHAI_2470190623_Q

  • 相关阅读:
    canvas绘制饼状图
    canvas绘制在画布中心的一段文字
    canvas绘制一个根据数据的饼图
    canvas绘制一个圆分成六等分颜色随机
    canvas绘制四分之一个圆弧
    canvas实现转换
    canvas曲线的绘制
    canvas绘制一个折线图
    canvas绘制一个渐变颜色的矩形
    canvas
  • 原文地址:https://www.cnblogs.com/webljl/p/14099520.html
Copyright © 2020-2023  润新知