Форум программистов, компьютерный форум, киберфорум
PHP: RegExp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
 Аватар для Nebiros
41 / 40 / 16
Регистрация: 23.03.2010
Сообщений: 3,122

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

01.08.2018, 11:14. Показов 733. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите по регулярному выражению, мне нужно чтобы проверялось по шаблону, вот к примеру мне нужно проверить такое
PHP
1
2
$vl=' 60x120/70x140 '; // или $vl=' 60.5x120.5/70.5x140.5 ';
if(preg_match('/ [0-9.]+x+[0-9.]+\/+[0-9.]+x+[0-9.] /',$vl)) echo 'ok'; else echo 'no'; ....
По идее должно вывести положительный результат, но нет...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.08.2018, 11:14
Ответы с готовыми решениями:

Регулярное выражение. >,<,=
Нужно выбрать из таблицы только числа больше 1.000 Пишу : &lt;center&gt;&lt;b&gt;\.{3}&lt;\/td&gt; Но теряю 1.999, а мне нужно все включая 1.001 и...

Регулярное выражение
Всем привет. Задача такая, найти в тексте аналог html тега Не могу понять, как подправить регулярку ... $find ='/\&lt;if \\...

Регулярное выражение
3,2,,,, 1,2,3,4,5 1,3,5,4,2 5,3,5,6,4 выражение : ,,,, возвращает 3 последних ряда. выражение : ,,?,?,? находит все 4...

9
 Аватар для D_Vik
368 / 234 / 68
Регистрация: 19.07.2016
Сообщений: 833
01.08.2018, 12:05
Nebiros,

Пробелы в выражении нужно отметить тот так \s. Собсно само выржение :

PHP
1
"/\s+[0-9.]+x+[0-9.]+\/+[0-9.]+x+[0-9.]+\s/"
Вроде работает.
1
 Аватар для koders
259 / 193 / 50
Регистрация: 15.07.2016
Сообщений: 649
01.08.2018, 14:46
Упрощаем:
PHP
1
preg_match('! [0-9.]+x[0-9.]+/[0-9.]+x[0-9.]+ !',$vl)
+ означает 1 или более символов, значит после x и / он не нужен. А вот после последнего [0-9.] плюс как раз нужен.
И ограничитель сменить, зачем использовать слэш, если он в регулярке встречается?

Цитата Сообщение от D_Vik Посмотреть сообщение
Пробелы в выражении нужно отметить тот так \s
Для пыха это лишнее.
А вот не использовать начальные/конечные пробельные символы самое то, я бы trimнул строку.
1
 Аватар для otto-fukin
14 / 60 / 21
Регистрация: 15.06.2017
Сообщений: 572
02.08.2018, 20:43
Цитата Сообщение от Nebiros Посмотреть сообщение
[0-9.]
крутое условие: цифры от 0 до 9 или любой другой символ. Мощно!
0
 Аватар для Nebiros
41 / 40 / 16
Регистрация: 23.03.2010
Сообщений: 3,122
02.08.2018, 22:19  [ТС]
Цитата Сообщение от otto-fukin Посмотреть сообщение
крутое условие: цифры от 0 до 9 или любой другой символ. Мощно!
а разве не от 0 до 9 и точка?
буквы как бы не пропускает...
0
 Аватар для otto-fukin
14 / 60 / 21
Регистрация: 15.06.2017
Сообщений: 572
02.08.2018, 22:36
и точка. любой символ. хош буквы хош закорючки. просто любой
0
1137 / 685 / 412
Регистрация: 07.11.2015
Сообщений: 1,102
02.08.2018, 23:48
otto-fukin, http://php.net/manual/ru/regexp.reference.dot.php
Внутри символьного класса точка не имеет специального значения.
0
Эксперт JS
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
05.08.2018, 14:50
Да. Единственный косяк ТС - в отсутствии плюса перед последним пробелом.

Можно посоветовать набирать регулярку на Match мелкими кусочками, пока не начнёт глючить.
Хотя так тестировать получится не всегда. Например, с рекурсивными выражениями ужас-ужас.

Добавлено через 11 минут
Имхо, так красивее проверка дробных чисел:
PHP
1
2
$vl=' 60.5x120.5/70.5x140.5 ';
if(preg_match('/ \d+(\.\d+)?x\d+(\.\d+)?\/\d+(\.\d+)?x\d+(\.\d+)? /',$vl)) echo 'ok'; else echo 'no';
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
05.08.2018, 15:05
Тут очень удобно отлаживать регулярки
0
 Аватар для Строитель
1084 / 746 / 364
Регистрация: 09.07.2018
Сообщений: 1,760
08.08.2018, 08:48
Цитата Сообщение от Nebiros Посмотреть сообщение
Подскажите по регулярному выражению
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
$vl = ' 60x120/70x140 ';
// или так
$vl = ' 60.5x120.5/70.5x140.5 ';
 
// Соответствие найдено, если в строку входит:
$pcre = '~
    \s?           # 1) не обязательный пробельный символ
    \d+           # 2) одна и более цифр
    (?:\.\d+)?    # 3) не обязательная группа символов: точка, после которой следует одна и более цифр
    x             # 4) символ x, означающий сам себя
    \d+           # смотри пункт 2)
    (?:\.\d+)?    # смотри пункт 3)
    /             # 5) символ /, означающий сам себя
    \d+           # смотри пункт 2)
    (?:\.\d+)?    # смотри пункт 3)
    x             # смотри пункт 4)
    \d+           # смотри пункт 2)
    (?:\.\d+)?    # смотри пункт 3)
    \s?           # смотри пункт 1)
~x';
 
if (preg_match($pcre, $vl)) {
    echo 'ok';
} else {
    echo 'no';
}
Смотреть демо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.08.2018, 08:48
Помогаю со студенческими работами здесь

Регулярное выражение
Подскажите пожалуйста, как из строки...

Регулярное выражение
Как ето сделать? Написать регулярное выражение, которое определяет является ли входная лента лентой...

регулярное выражение
Имеем строку http://img.yandex.net/i/www/logo.png нужно вытащить то что между и

регулярное выражение
Например есть строка qwerty16 Как проверить что в нее не вложен еще тег к примеру так(qwerty16qwqwqw)?

регулярное выражение
Описать функцию, которая удаляет из заданной строковой величины все лишние пробелы. Пробелы считаются лишними, если их подряд идёт более...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru