我没有看到任何直接回答这个问题的相关信息,所以我会在下面发布。
我注意到,regex.test()函数在JavaScript中的行为与JavaScript中的“匹配”不同。
function doit(string)
{
var finalString = ""; // our result at the end.
var stringArray = string.split(/\s+/);
var arrayIndex = 0;
let regexp = /[A-Z]+/
// use shortcut evaluation (&&)
while (arrayIndex < stringArray.length && regexp.test(stringArray[arrayIndex]) )
{
finalString += stringArray[arrayIndex] + " ";
arrayIndex++;
} // end while
return finalString
}如果我用"Hello“调用"doit()”,函数将返回:"Hello“。哈?
怎么可能用我的A+正则表达式呢?
Java中的正则表达式as +仅表示大写字母,并按预期工作。在Java中,什么都不会返回。
Java:stringArray[arrayIndex].matches("[A-Z]+") //没有像预期的那样返回任何内容。
因此,我对如何在JavaScript中匹配正则表达式感到有点困惑。
谢谢你帮我澄清这件事。:)
发布于 2020-05-10 19:01:56
判断器应该是
let regexp = /^[A-Z]+$/这样,当行开始,然后结束时,就可以告诉js匹配这些字符。按照您的方式,它只匹配第一个字母,所以测试返回true。
https://stackoverflow.com/questions/61717133
复制相似问题