说明
有时,你需要匹配一行中一次或多次出现的字符(或一组字符)。这意味着它至少出现了一次,并可能重复出现。
你可以使用+
字符来检查是否是这种情况。需要记住,字符或模式必须连续出现。也就是说,字符必须有重复一遍。
例如,/a+/g
将在"abc"
中找到一个匹配,并返回["a"]
。因为有+
,它也会在"aabc"
中找到一个匹配项,并返回["aa"]
。
如果它改为检查字符串"abab"
,它会查到两个匹配,并返回["a","a"]
,因为两个a
字符不在一起 - 它们之间有一个b
。
最后,由于字符串"bcd"
中没有"a"
,所以找不到匹配项。
练习
当s
在"Mississippi"
中出现一次或多次时,你需要找到匹配项。编写使用+
符号的正则表达式。
- 你的正则表达式
myRegex
应该使用+
符号来匹配一个或多个s
字符。 - 你的正则表达式
myRegex
应该匹配2项。 result
变量应该是"ss"
两个匹配的数组。
var Mississippi = 'Mississippi';
var myRegex = /change/; // Change this line
var result = Mississippi.match(myRegex);
答案
方法 | 描述 |
正则表达式 | 正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。 |
match() | 可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。 |
修饰符 | 描述 |
---|---|
i | 执行对大小写不敏感的匹配。 |
g | 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。 |
量词 | 描述 |
n+ | 匹配任何包含至少一个 n 的字符串。 |
var Mississippi = 'Mississippi';
var myRegex = /s+/gi; // Change this line
var result = Mississippi.match(myRegex);
result;
运行结果
["ss","ss"]