Size: a a a

2021 November 28

SK

Sergio Keler in SPb Python
>>> import re
>>> s="abcdtttt"
>>> t="t"
re.match(f"^.*?(t+)$", s).group(1)
'tttt'
источник

SK

Sergio Keler in SPb Python
там вопросик есть :D
источник

ЕД

Евгений Демидов... in SPb Python
Точно, про вопрос я не сообразил 👍
источник

SK

Sergio Keler in SPb Python
>>> re.search(f"({t{+)$", s).group(1)
'tttt'
можно так.
даже проще
источник

ЕД

Евгений Демидов... in SPb Python
re.search наверное самое быстрое будет из регулярных, раз он первый подходящий вариант возвращает
источник

SK

Sergio Keler in SPb Python
Если надо больше одного символа, то чуть усложнить  придётся:
>>> s="abcdtatatata"
>>> t="ta"
>>> re.search(f"(({t})+)$", s).group(1)
'tatatata'
тк + относится к последнему токену ре, надо группировать т.
источник

SK

Sergio Keler in SPb Python
наверное так
источник

SK

Sergio Keler in SPb Python
Здесь есть два лагеря:
- противники ре, которые любят вложенные циклы и строковые функции.
- сторонники ре, ленивые взрослые люди, читающие доки.
источник

ЕД

Евгений Демидов... in SPb Python
re это сила, главное отладить все капитально и самому не запутаться)
источник

SK

Sergio Keler in SPb Python
Это вопрос опыта :D
Через какое-то время открывается ре.чакра и понимаешь красоту и простоту ре.
источник

ЕД

Евгений Демидов... in SPb Python
надо чаще re.медитировать)
источник

SK

Sergio Keler in SPb Python
Я на перле много писал и потому мне ре прост и понятен. В питоне вроде как та же либа используется. В перле нет необходимости в функциях даже, там ре -- часть языка.
sub lastT($$) {
 my ($t,$_)=$@;
 return $1 if /($t+)$/;
}
источник

ЕД

Евгений Демидов... in SPb Python
попробовал в онлайн компилятор загнать, ошибку выдало Can't use global $_ in "my" at main.pl line 7, near ",$_"
Execution of main.pl aborted due to compilation errors.
источник

ЕД

Евгений Демидов... in SPb Python
sub lastT($$) {
 my ($t,$_)=$@;
 return $1 if /($t+)$/;
}

print lastT("Hellotttttt")
источник

ЕД

Евгений Демидов... in SPb Python
в перле я 0 )
источник

A

Alexander in SPb Python
За такой код сразу же молотком по пальцам
источник

A

Alexander in SPb Python
perl -le 'my $row = "abctttttt"; my ($symbols) = $row =~ m/^.+?(t+)$/; print $symbols'
источник

ЕД

Евгений Демидов... in SPb Python
этот код понятнее, и даже у меня работает
источник

SK

Sergio Keler in SPb Python
я не проверял. Так, накидал по-быстрому.
Что-то я устал и торможу:
sub lastT {
 my ($t,$s)=@_;
 return $1 if $s=~/($t+)$/;
}

print lastT('t','abcdttt'),"\n";
источник

SK

Sergio Keler in SPb Python
return $1 if $s=~/($t+)$/;
суть туть :D
источник