Get to know MDN better
| x* |
将前面的项“x”匹配 0 次或更多次。例如,/bo*/ 匹配“A ghost booooed”中的“boooo”和“A bird warbled”中的“b”,但在“A goat grunt”中没有匹配。 |
| x+ |
将前一项“x”匹配 1 次或更多次。等价于 {1,}。例如,/a+/ 匹配“candy”中的“a”和“caaaaaaandy”中的所有“a”。 |
| x? |
将前面的项“x”匹配 0 或 1 次。例如,/e?le?/ 匹配“angel”中的“el”和“angle”中的“le”。 如果立即在任何 *、+、? 或 {} 量词之后使用,则使量词变为非贪婪匹配(匹配最小次数),而不是默认的贪婪匹配(匹配最大次数)。 |
| x{n} |
其中“n”是一个非负整数,与前一项“x”至少匹配“n”次。例如,/a{2}/ 不匹配“candy”中的“a”,但它匹配“caandy”中的所有“a”,以及“caaandy”中的前两个“a”。 |
| x{n,} |
其中“n”是一个非负整数,与前一项“x”至少匹配“n”次。例如,/a{2,}/ 不匹配“candy”中的“a”,但匹配“caandy”和“caaaaaaandy”中的所有 a。 |
| x{n,m} |
其中“n”和“m”为非负整数,并且 m >= n。与项“x”至少匹配“n”次,至多匹配“m”次。例如,/a{1,3}/ 不匹配“cndy”中的任何内容,而匹配“candy”中的“a”、“caandy”中的两个“a”以及“caaaaaandy”中的前三个“a”。请注意,在匹配“caaaaaandy”时,匹配的是“aaa”,尽管原始字符串中有更多的“a”。 |
|
x*? |
默认情况下,像 * 和 + 这样的量词是“贪婪的”,这意味着它们试图匹配尽可能多的字符串。量词后面的字符 ? 使量词“不贪婪”:它一旦找到匹配就会停止。例如,给定一个字符串“some <foo> <bar> new </bar> </foo> thing”:
|