有时,需要匹配出现一次或者连续多次的的字符(或字符组)。
这意味着它至少出现一次,并且可能重复出现。
可以使用+
符号来检查情况是否如此。
记住,字符或匹配模式必须一个接一个地连续出现。
例如,/a+/g
会在"abc"
中匹配到一个匹配项,并且返回["a"]
。
因为+
的存在,它也会在"aabc"
中匹配到一个匹配项,然后返回["aa"]
。
如果它是检查字符串"abab"
,它将匹配到两个匹配项并且返回["a", "a"]
,因为a
字符不连续,在它们之间有一个b
字符。
最后,因为在字符串"bcd"
中没有"a"
,因此找不到匹配项。
var str1 = "abc";
var str2 = "aabc";
var str3 = "abab";
var str4 = "bcd";
var regex = /a+/g;
console.log( str1.match(regex) ); // 返回 ["a"]
console.log( str2.match(regex) ); // 返回 ["aa"]
console.log( str3.match(regex) ); // 返回 ["a", "a"]
console.log( str4.match(regex) ); // 返回 null
闯关:想要在字符串"Mississippi"
中匹配到出现一次或多次的字母s
的匹配项。
编写一个使用+
符号的正则表达式。
var difficultSpelling = "Mississippi";
var myRegex = /change/; // 修改这行
var result = difficultSpelling.match(myRegex);
console.log(result);
正确代码
var difficultSpelling = "Mississippi";
var myRegex = /s+/ig;
var result = difficultSpelling.match(myRegex);
console.log(result);