2012-04-26 118 views
1

正則表達式不太好。正常表達式逗號之前或結尾逗號

我有一個字符串,如:

var bigString = 'abc,xyz,def'; 

我想創建一個正則表達式,它看起來在年底前或者逗號或逗號。

e.g:

有效的表達式爲: ABC, ,XYZ, ,高清

我歡迎任何形式的幫助。

+1

這些是唯一有效的值嗎?是「abc」有效嗎? – 2012-04-26 15:36:01

+0

只是按字母順序排列的字符或字母數字? – 2012-04-26 15:37:13

+0

另一個問題是,爲什麼?也許你想解決的問題不需要正則表達式。你能告訴你準備做什麼嗎? – 2012-04-26 15:41:51

回答

4

嗯,這正則表達式是:

/(?:,[A-Za-z]+)|(?:[A-Za-z],)/ 
+0

不應該最後一個字符,正則表達式分隔符是'/'嗎? – 2012-04-26 15:37:31

+1

這將匹配沒有逗號的項目,因爲它們都跟着? – 2012-04-26 15:38:23

+0

謝謝@BenRoux:你說得對,我只是糾正它。 – anubhava 2012-04-26 15:42:37

0

這應該工作:(修訂版)

/(,[\w]+)|([\w]+,)/ 
1
/(,\w+)|(\w+,)/ 

這人會明確地匹配,其中一個逗號或者是在開始或字符串的結尾。

0

如果你強制一個表單,我會用這個。
它將字符串1,2或3驗證爲一個或多個使用逗號前後兩個字母的字符。

string1 = 'abc,' 
string2 = ',xyz,' 
string3 = ',def' 



/^(?:[a-z]+,|,[a-z]+,?)$/i