Найти - Пользователи
Полная версия: Regular expressions
Начало » Центр помощи » Regular expressions
1
Nata
Добрый вечер. Подскажите, пожалуйста, как определить порядок символов в regex? Например, как найти слово, в котором буквы расположены в алфавитном порядке ('art', ‘ivy’), или числа, в которых цифры идут в порядке убывания ('654') или возрастания?
Спасибо заранее.
Isem
Разве буквы в словах ‘art’ и ‘ivy’ идут в алфавитном порядке?
Обязательно ли нужно именно регулярное выражение? Если оно и существует, то, думается мне, оно не такое простое. А вот несложный алгоритм без использования regex написать можно вполне.
Nata
Isem
Разве буквы в словах ‘art’ и ‘ivy’ идут в алфавитном порядке?
да. http://en.wikipedia.org/wiki/English_alphabet
Isem
Обязательно ли нужно именно регулярное выражение? Если оно и существует, то, думается мне, оно не такое простое. А вот несложный алгоритм без использования regex написать можно вполне.
да. такое задание в универе дали. вообще-то это часть задания, но я с ней как раз и застряла.
Ed
Вот пример для цифр в возрастающем порядке:
re.match("^0*1*2*3*4*5*6*7*8*9*$", <ваша строка>)
Nata
Спасибо. Сделала то же самое для алфавита.
pattern=re.compile('\ba*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*\b')
Преподавателю понравится :)
Ed
Не думаю, что понравится. Напрасно вы убрали ^ и $. Они там были не зря. Смотрите:
In [1]: re.match("^0*1*2*3*4*5*6*7*8*9*$", "153") == None
Out[1]: True

In [2]: re.match("0*1*2*3*4*5*6*7*8*9*", "153")
Out[2]: <_sre.SRE_Match object at 0xb708f368>
Nata
Ed
Не думаю, что понравится.
У него хорошее чувство юмора, точно понравится :)

Ed
Напрасно вы убрали ^ и $.
да я знаю, просто эта штука http://gskinner.com/RegExr/ учит использовать эти символы осторожно.
'^.+$' выводит не слово а весь текст, а '^+$' не выводит ничего. Я чаще использую \b
Ed
Я чаще использую \b
Ну, глядя на ваш регэксп я бы так не сказал. Или просто не настолько часто, чтобы добавить \b туда :) ?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB