2013-10-29 67 views
-4

我是java新手脚本,所以我对正则表达式有所怀疑。上面提到的正则表达式和最终输出会产生什么区别?

+2

获得了良好的资源,如[MDN注册曝光](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) – epascarello

+0

虽然这是很好的使用正表达式,这与javascript无关。网络上有很多资源可以解释规则(甚至维基百科页面也相当出色)除了文档,我发现http://rubular.com非常方便,可以通过真实的示例检查您的发现(特别是在开始玩时捕获><) – Zzirconium

回答

4

+表示前面的项目必须发生一次或多次。因此,你的第二个正则表达式匹配一个长度为1的字符串,你的第一个匹配一个多字符字符串。

1

[a-zA-Z]匹配单个字符,如果是在字符范围内的-ZA-Z。 +的意思是“一个或多个”,因此[a-zA-Z]+匹配一个或多个这些字符。 *表示0或更多。 ?表示正好0或1。{n}比赛n次,{n,} n次或更多次,并且{n,m}匹配任何n或m次(含)之间之前谈到。

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 
相关问题