带有OR条件的javascript中的正则表达式

时间:2015-04-06 16:36:30

标签: javascript regex

我需要创建一个能够在网站URL中确定// example或//www.example的正则表达式。我得到了网站的网址,

var urlOfWeb = location.href ;

我在JavaScript中创建了一个正则表达式,在运行多次时会产生不规则的输出。我在firefox浏览器/控制台/ Phpstorm IDE中尝试过它。 这是表达式,

// The regular expression
    var expToLookFor = /(\/\/example|\/\/www\.example)/g;
// Using test method of Regexp object of javascript which gives bool result
expToLookFor.test("//example") ;
// Result : true
expToLookFor.test("//example") ;
// Result : false 

enter image description here

1 个答案:

答案 0 :(得分:5)

从正则表达式中删除全局标志以使其成为:

var expToLookFor = /(\/\/example|\/\/www\.example)/;

As g flag makes RegExp object remember it's last position lastIndex.

最好将你的正则表达式重构为:

var expToLookFor = /\/\/(www\.)?example/;