LINUX.ORG.RU

Регулярные выражения


0

0

Здравствуйте, знаю что оффтоп, но очень срочно нужно научиться с помощью питона делать следующее: есть строка stroka='mama mila url="user_is_admin=123" hello'

нужно заменить 'admin=123"' на 'admin123.html"'

уже день убил на разбирательства с регулярыми выражениями, но так ничего и не получилось сделать работающего ;(

Спасибо! p.s. можно и на php впринципе, но опять же я не знаю как это сделать

anonymous

Поищи в гугле perl regexp - там есть достаточно информации.

suser
()

на пэхэпэ

<?
$str = 'mama mila url="user_is_admin=123" hello';
$res = preg_replace("/([^\".]*)\"(.*)_(.*)=(\d*)\"(.*)/U",&quo t;\\1\"\\2_\\3\\4.html\"\\5",$str);
echo $res;

?>

W98
()
Ответ на: комментарий от W98

вместо &quo t; обычная "

зы: а в самом форуме регекспы-то кривые ;)

W98
()

Perl: $string =~ s/(\w+)=(\d+)/$1$2\.html/;

suser
()

На Питоне:

import re
s = 'mama mila url="user_is_admin=123" hello'
re.sub( r"(\w*_)?(\w+)=(\d+)", r"\1\2\3.html", s )

watashiwa_daredeska ★★★★
()
Ответ на: комментарий от Xellos

Это конечно не питон и не php, и даже не perl, но в ряде случаев удобнее :)

Xellos ★★★★★
()

А че просто заменить '123' на '123.html' было нельзя?
XY-ли усложнять?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.