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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.