Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Замена регулярным выражением. / 4 сообщений из 4, страница 1 из 1
11.02.2014, 13:19
    #38556997
Yuri Kazakoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена регулярным выражением.
Добрый день!

Нужно строку "192+10*P+20.92-9*(P+Q*5.91)" превратить в "192.0+10.0 * P+20.92-9*(P+Q*5.91)"

Делаю так:
Код: php
1.
2.
3.
4.
5.
6.
$text = "192+10*P+20.92-9*(P+Q*5.91)";
echo "IN: $text\n";
$pattern = "/[^.](\d+)[^.]/i";
$replacement = "$1.0";
$text = preg_replace($pattern, $replacement, $text);
echo "OUT: $text\n";



Не работает. В чём косяк? Понимаю, что в руках :)
Спасибо.
...
Рейтинг: 0 / 0
11.02.2014, 13:40
    #38557034
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена регулярным выражением.
Yuri KazakoffНужно строку "192+10*P+20.92-9*(P+Q*5.91)" превратить в "192.0+10.0 * P+20.92-9*(P+Q*5.91)"Не совсем понятны правила преобразования.
Вроде как целые числа в десятичные дроби переводятся, но девятки это не коснулось по какой-то причине.
Вроде звезда пробелами окружается. Но... только та что вне скобок и не примыкает к скобке. Или та, после которой буква?
...
Рейтинг: 0 / 0
11.02.2014, 14:50
    #38557186
Yuri Kazakoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена регулярным выражением.
vkle,

Прошу прощения...
Строку "192+10*P+20.92-9*(P+Q*5.91)" превратить в "192.0+10.0*P+20.92-9.0*(P+Q*5.91)".
Т.е. ко всем целым числам приписать ".0".
...
Рейтинг: 0 / 0
12.02.2014, 19:53
    #38558991
у
у
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена регулярным выражением.
Yuri Kazakoff,
Код: php
1.
2.
3.
4.
5.
6.
$text = "192+10*P+20.92-9*(P+Q*5.91)";
echo "IN: $text<br>";
$pattern = "/(?<!\.)\b(\d+)\b(?!\.)/";
$replacement = "$1.0";
$text = preg_replace($pattern, $replacement, $text);
echo "OUT: $text\n";
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Замена регулярным выражением. / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]