2012-01-13 3 views
0

мне нужно регулярное выражение, чтобы соответствовать что-то вродеRegexp для конкретного согласования строки символов

"4f0f30500be4443126002034"

и

"4f0f30500be4443126002034> 4f0f31310be4443126005578"

, но не так, как

"4f0f30500be4443126002034> 4f0f31310be4443126005578> 4f0f31310be4443126005579"

+0

Можете ли вы предоставить более подробную информацию о том, что должно и не должно совпадать? Почему третий не соответствует? Потому что он состоит из 3 чисел? – mikej

+0

Да. Я хочу только совместить строку из двух чисел, а не три. – Red

+1

Ну, строка одного или двух чисел, а не три. Быть конкретным. – Red

ответ

1

Try:

^[\da-f]{24}(>[\da-f]{24})?$ 

[\da-f]{24} ровно 24 символов, состоящие только из 0-9, A-F. Весь шаблон - это одно такое число, за которым следует a> и второе такое число.

1

Я думаю, что вы хотите что-то вроде:

/^[0-9a-f]{24}(>[0-9a-f]{24})?$/ 

Это соответствует 24 символов в 0-9a-f диапазоне (который соответствует вашей первой строки) с последующим нулем или одной строки, начинающиеся с >, а затем 24 символов в 0-9a-f (соответствует вашей второй строке). Here's a RegexPal for this regex.

0

Не требуется регулярное выражение.

str = "4f0f30500be4443126002034>4f0f31310be4443126005578"

match = str.count('>') < 2

матч будет установлен верно для матчей, где есть 1 или 0 '>' в строке. В противном случае для параметра match установлено значение false.

Смежные вопросы