2013-10-29 104 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 
相關問題