2012-04-26 4 views
1

Я не очень хорошо знаком с регулярным выражением.Регулярное выражение, предшествующее запятой или конечной запятой

У меня есть строка, как:

var bigString = 'abc,xyz,def'; 

Я хочу создать регулярное выражение, которое он ищет либо предшествующую запятую или запятую в конце.

например:

Допустимых выражения будут: азбуки, , хуг, , Защита

Я оценю любую помощь.

+1

Это единственные допустимые значения? Является ли "abc" действительным? –

+0

Просто алфавитные символы или альфа-число? –

+0

Другой вопрос: ПОЧЕМУ? Возможно, проблема, которую вы пытаетесь решить, не требует регулярного выражения. Можете ли вы сказать, что именно вы пытаетесь сделать? –

ответ

4

Ну что регулярное выражение будет:

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

Должен ли последний символ, ограничитель регулярных выражений, быть '/'? –

+1

Это будет соответствовать элементам без запятых вообще, поскольку они оба сопровождаются? –

+0

Спасибо @BenRoux: Вы правы, я только что исправил это. – anubhava

0

Это должно работать: (ОБНОВЛЕНО)

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

Это один будет явно соответствовать где запятая либо в начале или конец строки.

0

Если вы форсируете форму, я бы использовал ее.
Он проверяет строки 1,2 или 3 как один или несколько альфа-символов с запятой до, после или обоих.

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



/^(?:[a-z]+,|,[a-z]+,?)$/i 
Смежные вопросы