Проверка регулярного выражения для строки, разделенной запятыми - PullRequest
1 голос
/ 16 мая 2011

Мне нужно проверить и ввести строку на стороне клиента.

Вот пример строки:

1:30-1:34, 1:20-1:22, 1:30-1:37, 

Это в основном временные коды для видео.

Можно ли это сделать с помощью регулярных выражений?

Бить меня головой об стену ...

Ответы [ 2 ]

2 голосов
/ 16 мая 2011
^(?:\b\d+:\d+-\d+:\d+\b(?:, )?)+$

, вероятно, будет работать;по крайней мере, это соответствует вашему примеру.Но вам может понадобиться добавить несколько крайних случаев, чтобы сделать правила сопоставления / несоответствия более понятными.

^        # Start of string
(?:      # Try to match...
 \b      # start of a "word" (in this case, number)
 \d+     # one or more digits
 :       # a :
 \d+     # one or more digits
 -       # a dash
 \d+     # one or more digits
 :       # a :
 \d+     # one or more digits
 \b      # end of a "word"
 (?:, )? # optional comma and space
)+       # repeat one or more times
$        # until the end of the string
0 голосов
/ 16 мая 2011

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

([0-9] +: [0-9] {1,2} - [0-9] +: [0-9] {1,2}, \ w *) +

Пояснение (вдохновлено Тимом выше)

[0-9] + # Одна или несколько цифр
: # двоеточие
[0-9] {1,2} # одна цифра или пара цифр
- #A тире
, # запятая
\ w * #Дополнительный пробел

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...