正则表达式"(^|(.*?\\/))(OpenLayers[^\\/]*?\\.js)(\\?|$)"是什么意思

OpenLayers里的正则表达式,在SingleFile.js的_getScriptLocation方法中,原文为:_getScriptLocation:(functi... OpenLayers里的正则表达式,在SingleFile.js的_getScriptLocation方法中,原文为:
_getScriptLocation: (function() {
var r = new RegExp("(^|(.*?\\/))(OpenLayers[^\\/]*?\\.js)(\\?|$)"),
s = document.getElementsByTagName('script'),
src, m, l = "";
for(var i=0, len=s.length; i<len; i++) {
src = s[i].getAttribute('src');
if(src) {
m = src.match(r);
if(m) {
l = m[1];
break;
}
}
}
return (function() { return l; });
})()
展开
 我来答
自由de王国
推荐于2016-06-02 · TA获得超过1066个赞
知道小有建树答主
回答量:661
采纳率:50%
帮助的人:840万
展开全部
分解成三部分
(^|(.*?\\/))表示行开头或者/
(OpenLayers[^\\/]*?\\.js)表示OpenLayers后面跟着任意个不是/的字符,再跟着.js
(\\?|$)表示行末尾或者?
合起来就是第一部分后面紧跟着第二部分,第二部分后面紧跟着第三部分。只有符合这个规则的字符串才会匹配
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式