Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Регулярное выражение
Форумы портала PHP.SU » PHP » Регулярные выражения » Регулярное выражение

Страниц (1): [1]
 

1. vanicon - 30 Марта, 2012 - 19:34:33 - перейти к сообщению
Есть текст:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  Ищет в строке @subject.text все совпадения с шаблоном pattern и помещает результат в массив @matches в порядке, определяемом @комбинацией_флагов flags.
  2.  

И из него нужно выбрать слова: @subject.text, @комбинацией_флагов и @matches
Есть вот такая регулярка:
, она работает и выбирает тока слово matches, комбинацией и subject, окончание слова с символом @ должен быть любой символ кроме _ и точки, а у меня в регулярки окончание после любого символа.
Помогите переделать регулярку.
2. dadli - 01 Апреля, 2012 - 17:44:07 - перейти к сообщению
vanicon
если правилно понял, вам надо вибрать все слова, которие начинается на символе @ и кончается на всех символах кроме _ и точка. если так то

PHP:
скопировать код в буфер обмена
  1. preg_match_all("#@[^\s]+[^\._]\s*#",$str,$mas);
  2.  
  3. echo "<pre>";
  4. var_dump($mas);
  5. echo "</pre>";
3. vanicon - 07 Апреля, 2012 - 13:09:56 - перейти к сообщению
Цитата:
если правилно понял, вам надо вибрать все слова, которие начинается на символе @ и кончается на всех символах кроме _ и точка. если так то

Да правильно, но я немного переделал его и получил вот это:
, вроде работает как нужно
4. dadli - 09 Апреля, 2012 - 15:34:09 - перейти к сообщению
извиняюс, я бил не прав, так должен работать хорошо
PHP:
скопировать код в буфер обмена
  1. $str = 'ASD @es. работать  @sds_ @sdd';
  2. preg_match_all("#@[^\s]+#",$str,$mas);
  3. $mas = preg_grep("#(\.|\_)$#",$mas[0],PREG_GREP_INVERT);
  4.  
  5. echo "<pre>";
  6. var_dump($mas);
  7. echo "</pre>";

 

Powered by ExBB FM 1.0 RC1