(/ ^ [a-zA-Z] + $ /)和(/ ^ [a-zA-Z] $ /)有什么区别?

时间:2013-10-29 12:05:19

标签: javascript regex

我是java脚本的新手,所以我对正则表达式有疑问。上面提到的正则表达式与最终输出有什么不同之处有什么区别?

3 个答案:

答案 0 :(得分:4)

+表示前一项必须出现一次或多次。因此,您的第二个正则表达式匹配长度为1的字符串,而您的第一个正则表达式匹配多字符字符串。

答案 1 :(得分:1)

[a-zA-Z]匹配单个字符,如果它在字符范围a-zA-Z中。 +表示“一个或多个”,因此[a-zA-Z]+匹配其中一个或多个字符。 *表示0或更多。 ?表示0或1. {n}正好匹配n次,{n,} n次或更多次,{n,m}匹配n或m次(包括)之前的任何内容。

答案 2 :(得分:1)

这首先匹配任何只包含字母的字符串。

/^[a-zA-Z]+$/.test("Hello"); // true
/^[a-zA-Z]+$/.test("f");     // true
/^[a-zA-Z]+$/.test("9");     // false

后者只匹配一个字符的字符串,这是一个字母。

/^[a-zA-Z]$/.test("Hello");  // false
/^[a-zA-Z]$/.test("f");      // true
/^[a-zA-Z]$/.test("9");      // false