鉴于这两个字符串:
browser: {
browser: {
如何在javascript中使用.test编写一个正面的lookbehind来返回布尔值true?我到目前为止尝试过的模式是
(?<=:[\s]+){
答案 0 :(得分:4)
JavaScript中没有Lookbehind,但存在替代方案......
(in)(pieces)(in capture groups)
并仅检索您感兴趣的组。此示例向您展示如何从捕获组中检索您想要的内容,同时忽略您不想要的内容。
var myregex = /This must be here, but don't want to match it(I want this)/i;
var matchArray = myregex.exec(yourString);
if (matchArray != null) {
thematch = matchArray[1];
} else {
thematch = "";
}
答案 1 :(得分:1)
答案 2 :(得分:1)
你不想要一个不存在的'lookbehind'。您只需要更好地构建正则表达式。
你想要匹配的完整表达是什么?
例如,如果你想要所有:{它们之间有1个以上的空格:
var regex = /:\s+{/;
regex.test('Browser: {'); //true
regex.test('Browser: {'); //true
regex.test('Browser:{'); //false
如果你只想要一个布尔值,就不需要捕获组。