Форум программистов, компьютерный форум, киберфорум
PHP: RegExp
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
20 / 19 / 9
Регистрация: 24.05.2011
Сообщений: 89
1

Найти вещественные числа в строке

18.10.2013, 21:46. Показов 1239. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Требуется составить регулярное выражение которое находит в строке "X - Z" число слева, арифметическое действие, и число справа (числа могут быть: целые, вещественные, отрицательные).
Cоставил вот такое выражение, работает правильно
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
    $num = '1.5 - 2.5';
    $num = str_replace(' ', '', $num);
    preg_match('#(-?)(\d+(?>\.?\d+)?)([+-/*]?)(-?)(\d+(?>\.?\d+)?)#', $num, $match);
    print_r($match);
    
    // результат
    Array
    (
        [0] => 1.5-2.5
        [1] => 
        [2] => 1.5
        [3] => -
        [4] => 
        [5] => 2.5
    )
 
    // но если в число вместо точки поставить
    // любой другой символ, то выражение мачится,
    // но результат получается не верен
    
    $num = '1&5 - 2.5';
    // результат не вереный
    Array
    (
        [0] => 5-2.5
        [1] => 
        [2] => 5
        [3] => -
        [4] => 
        [5] => 2.5
    )
Ни как не могу составить правильно, чтобы выражение пропускало, то что надо.

Добавлено через 2 часа 49 минут
Додумался сам, надо было указать условия поиска от начала и до конца строки.
PHP
1
'#^(-?)(\d+(?>\.?\d+)?)([+-/*]?)(-?)(\d+(?>\.?\d+)?)$#'
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.10.2013, 21:46
Ответы с готовыми решениями:

Как найти в строке вещественные числа ?
Всем доброго времени суток, как в строке найти вещественные числа, знаю функцию isdigit(c) но она...

Найти и вывести все вещественные числа, содержащиеся в заданной строке
Найти и вывести все вещественные числа, содержащиеся в заданной строке. Только-только начали...

В строке записаны вещественные числа, которые разделены пробелами. Найти сумму этих чисел
Само задание: В строке записаны вещественные числа, которые разделены пробелами. Найти...

Дан текстовый файл содержащий вещественные числа по одному в каждой строке. Поместить эти числа в другой файл
Дан текстовый файл содержащий вещественные числа по одному в каждой строке. Поместить эти числа в...

0
18.10.2013, 21:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.10.2013, 21:46
Помогаю со студенческими работами здесь

Даны вещественные числа y[0],...,y[n] (n=10). Найти max(|z[0]|, ...,|z[n]|)
47. Даны вещественные числа y,...,y (n=10). Найти max(|z|, ...,|z|), где z=y при |y|<2 и 0.5 в...

Найти вещественные числа x и y, удовлетворяющие уравнению
(2+i)x+(1+2i)y=1-4i

Даны вещественные числа c1, c2, ., c15. Найти -c1-c3-c5-.
Помогите решить задачу или посмотрите пожалуйста что тут в этом коде не так? и как будет...

Даны вещественные числа x,y,z. Найти max( x*y*z, xy/z, x-z ).
Даны вещественные числа x,y,z. Найти max( x*y*z, xy/z, x-z ).


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

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