Мне нужно регулярное выражение, чтобы соответствовать что-то вроде
"4f0f30500be4443126002034"
и
"4f0f30500be4443126002034> 4f0f31310be4443126005578"
но не как
"4f0f30500be4443126002034> 4f0f31310be4443126005578> 4f0f31310be4443126005579"
Я думаю, вы хотите что-то вроде:
/^[0-9a-f]{24}(>[0-9a-f]{24})?$/
Это соответствует 24 символам в диапазоне 0-9a-f (что соответствует вашей первой строке), за которым следует ноль или одна строка, начинающаяся с >, за которой следуют 24 символа в диапазоне 0-9a-f (что соответствует вашей второй строке) , Вот RegexPal для этого регулярного выражения .
0-9a-f
>
Попробуйте:
^[\da-f]{24}(>[\da-f]{24})?$
[\da-f]{24} - это ровно 24 символа, состоящие только из 0-9, af.Весь шаблон представляет собой одно такое число, за которым, возможно, следуют> и второе такое число.
[\da-f]{24}
Не нужно регулярное выражение.
str = "4f0f30500be4443126002034>4f0f31310be4443126005578"
match = str.count('>') < 2
для совпадения будет установлено значение true для совпадений с 1 или 0 '>'в строке.В противном случае для соответствия установлено значение false.