Форум программистов, компьютерный форум, киберфорум
Perl
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 10.01.2016
Сообщений: 6
1

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

07.10.2016, 23:11. Показов 692. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть регулярка, которая отыскивает в строке запись часла с экспонентной
Нужно заменить на число в обыкновенном виде
Можно ли как-то обратиться к найденной подстроке и через "0+$substr" получить желаемое?
Perl
1
$s =~s/\d*\.?\d*?e\-?\+?\d*/ ?????????? /eg;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2016, 23:11
Ответы с готовыми решениями:

Регулярное выражение
Здравствуйте!!!На дом задали ознакомиться с регулярными выражениями на Perl....понимаю, что никто...

Регулярное выражение
Товарищи, подскажите регулярное выражение Perl, чтобы определенная буква или цифра встречалась в...

регулярное выражение
как обрезать строку до символов " |"? спасибо

Регулярное выражение
есть файл: <body lang=3DRU link=3Dblue = vlink=3Dpurple><div class=3DWordSection1><p =...

5
5991 / 2000 / 323
Регистрация: 10.12.2013
Сообщений: 6,891
07.10.2016, 23:46 2
Цитата Сообщение от MrSndmn Посмотреть сообщение
и через "0+$substr" получить желаемое
через sprintf
1
440 / 432 / 159
Регистрация: 21.05.2016
Сообщений: 1,338
08.10.2016, 00:21 3
Можно заключить искомую подстроку в скобки и обращаться к ней через $1
1
0 / 0 / 0
Регистрация: 10.01.2016
Сообщений: 6
08.10.2016, 01:26  [ТС] 4
Можно подробнее на примере?
В какие скобки заключить строку?
Компилятор ругается на то, что не инициализировал $1
Perl
1
$s =~s/\d*\.?\d*e\-?\+?\d*/  (0+$1) /eg;
0
440 / 432 / 159
Регистрация: 21.05.2016
Сообщений: 1,338
08.10.2016, 03:16 5
Цитата Сообщение от MrSndmn Посмотреть сообщение
Можно подробнее на примере?
В какие скобки заключить строку?
Компилятор ругается на то, что не инициализировал $1
Perl
1
$s =~s/\d*\.?\d*e\-?\+?\d*/  (0+$1) /eg;
Perl
1
$s =~s/(\d*\.?\d*e\-?\+?\d*)/  0+$1 /eg;
Добавлено через 36 минут
это если хочется с регулярными выражениями побаловаться. А на практике sprintf используют
1
5991 / 2000 / 323
Регистрация: 10.12.2013
Сообщений: 6,891
08.10.2016, 05:39 6
Цитата Сообщение от MrSndmn Посмотреть сообщение
Есть регулярка, которая отыскивает в строке запись часла с экспонентной
на CPAN есть правильный модуль с regexp-ами общего назначения от Damian Conway

Perl
1
2
3
4
5
use Regexp::Common;
 
while (<>) {
     /$RE{num}{real}{-keep}/ and printf("%f\n", $1);
}
1
08.10.2016, 05:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.10.2016, 05:39
Помогаю со студенческими работами здесь

регулярное выражение со слэшем
как включить в регулярное выражение символ слэша?

Простое регулярное выражение
Задача из книжки: Ответ из той же книжки: while (&lt;&gt;) { if (/+/) { print; } }

Исключающее регулярное выражение
Есть функция, принимающая в качестве параметра регулярное выражение. Изменить эту функцию я не...

Сделать регулярное выражение
Всем привет. Есть такая задачка. Нужно сделать аналог split только регулярным выражением. ...

составить регулярное выражение
Здравствуйте! Есть вот такая строка: my $text = '$people-&gt;{Alice}-&gt;{role}}! How do you do?...

Рекурсивное регулярное выражение
Ещё раз здравствуйте! Очень нужна помощь. Дан текстовый файл на русском языке, в нём записаны...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru