我正在尝试捕获匹配字符串的一部分。这就是我所做的:
var myRegex = /(^[0-9]{2}\.[0-9]{2}\.|$)/;
vary myString = "33.11.999";
var match = myRegex.exec(myString);
console.log(match[1]);
控制台将输出33.11。但我想排除最后一个点。是否可以使用正则表达式来实现?
答案 0 :(得分:1)
您可以使用positive lookahead (?=)
忽略最后一个点。
var myRegex = /(^[0-9]{2}\.[0-9]{2}(?=\.)|$)/;
var myString = "33.11.999";
var match = myRegex.exec(myString);
console.log(match[1]);
答案 1 :(得分:1)
那么为什么不捕捉你想要的部分?
var myRegex = /(^[0-9]{2}\.[0-9]{2})\.|$/;
var myString = "33.11.999";
var match = myRegex.exec(myString);
console.log(match[1]);
答案 2 :(得分:1)
var regex=/\d+\.\d+(?=\.\d+)/;
var str='33.11.999';
var result=str.match(regex);
console.info(result[0]);

你也可以这样写。