-5

我是 java 脚本的新手,所以我对正则表达式有疑问。上述正则表达式之间有什么区别,它会对最终输出产生什么影响?

4

3 回答 3

5

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

于 2013-10-29T12:08:21.167 回答
1

[a-zA-Z]匹配单个字符,如果它在字符范围 a-zA-Z 中。+表示“一个或多个”,因此[a-zA-Z]+匹配这些字符中的一个或多个。*表示 0 或更多。?表示 0 或 1。{n}精确匹配 n 次、{n,}n 次或更多次,并{n,m}匹配 n 或 m 次(含)之间的任何内容。

于 2013-10-29T12:09:37.807 回答
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
于 2013-10-29T12:13:18.277 回答