Регулярные выражения
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Регулярные выражения Expand / Collapse
Автор
Сообщение
26.09.2006 12:10
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 18.10.2006 15:29
Сообщ.: 42, Visits: 358
Здравствуйте!

Никак я не могу освоить регулярные выражения :)

Вот несколько, которые у меня либо вообще не работают либо сделаны очень криво, подскажите , пожалуйста, как их исправить.

1. if (ereg ("www\\..+\\..+",$url) OR ereg ("http://.+\\..+",$url) OR ereg ("http://www\\..+\\..+",$url) OR ereg ("ftp://.+\\..+",$url) OR ereg ("ftp://www\\..+\\..+",$url)  OR ereg ("https://.+\\..+",$url) OR ereg ("https://www\\..+\\..+",$url))return true;
    return false;

Как упростить это условие?

2. Как сделать, чтобы из названия программ отрезалась версия?

Т.е. есть, например, такие названия:

WinRAR v.9.0

WinrRAR ver. 9

WinRAR 9 beta 1

WinRAR 9 Alpha 5

WinRAR 9 build 2345

и еще могут быть слова: retail, pro, lite, free, rc.

И как сделать, чтобы было, например, так:

$name="WinRAR";

$version="9 beta 1";

или

$name="WinRAR";

$version="ver. 9";

и т.п.

?

Я сделал такое выражение:

if(eregi(" ([[ver|beta|alpha|pro|retail|build|rc|lite] 0-9.,]*)$", $name, $arr))
        {
            $version=trim($arr[0]);
            $name=eregi_replace(" ([[ver|beta|alpha|pro|retail|build|rc|lite] 0-9.,]*)$","", $name);
        }

Не работает, конечно.

3. Подскажите, пожалуйста, как сделать регулярное выражение, которое будет считать количество url в тексте?

Сообщ. #904859
26.09.2006 12:35
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 18.10.2006 15:29
Сообщ.: 42, Visits: 358
Только что у меня заработало второе выражение так:

if(eregi(" ([(ver|beta|alpha|pro|retail|build|rc|lite) 0-9.,]*)$", $name, $arr))
        {
            $version=trim($arr[0]);
            $name=eregi_replace(" ([(ver|beta|alpha|pro|retail|build|rc|lite) 0-9.,]*)$","", $name);
        }

Но обрезает и слова "Update", значит это воприимается не как слова, а как буквы, которые есть в этих словах, это не совсем то.

Сообщ. #904861
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 4:45