|
|
|
Forum 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 в тексте?
|
|
|
|
|
Forum 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", значит это воприимается не как слова, а как буквы, которые есть в этих словах, это не совсем то.
|
|
|
|