js正则表达式截取字符串开头、结尾、以及两字符串之间的内容
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了js正则表达式截取字符串开头、结尾、以及两字符串之间的内容,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1622字,纯文字阅读大概需要3分钟。
内容图文
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
这里
.表示除换行符\n之外的任意字符
*匹配前面的子表达式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
内容总结
以上是互联网集市为您收集整理的js正则表达式截取字符串开头、结尾、以及两字符串之间的内容全部内容,希望文章能够帮你解决js正则表达式截取字符串开头、结尾、以及两字符串之间的内容所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。