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 :: Версия для печати :: помогите с регуляркой please
Форумы портала PHP.SU » PHP » Регулярные выражения » помогите с регуляркой please

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

1. spassmacher - 20 Июня, 2015 - 07:37:01 - перейти к сообщению
Друзья, хочу составить регулярку так, чтобы было возможно написать предложение в котором позволено использовать следующие символы (,.+) но чтоб они нигде небыли друг за другом, типа (..,,++)

Спасибо
2. DeepVarvar - 20 Июня, 2015 - 09:31:09 - перейти к сообщению
3. Panoptik - 20 Июня, 2015 - 12:51:00 - перейти к сообщению
по правилам правописания знаки пунктуации должны идти сразу после слова и после них должен быть пробел то есть примерно так

CODE (regexp):
скопировать код в буфер обмена
  1. /(?:[a-z]+[\.\,\+]?[\ ])+/
4. spassmacher - 21 Июня, 2015 - 07:10:07 - перейти к сообщению
Я видимо не смог толком объяснить чего я хочу Улыбка

Мне нужно чтоб валидировалось следующее...

Betty
betty and tutty.
tutty+betty, betty+tutty.

и не валидировалось...

Betty,,
betty+ +and tutty.,
tutty+betty, ++betty+tutty
5. DeepVarvar - 21 Июня, 2015 - 16:18:00 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. if (preg_match('/([,\.+])\1/', $str)) {
  2.     echo 'Не то!';
  3. }
6. LIME - 21 Июня, 2015 - 16:45:57 - перейти к сообщению
А если точку в символьном классе не экранировать что будет?
(Добавление)
И почему не экранирован плюсик?
Загадка
7. DeepVarvar - 21 Июня, 2015 - 16:58:12 - перейти к сообщению
А я не проверял. Регулярки я юзаю в разных ЯП/оболочках/утилитах и не помню в каком случае надо экранировать а в каком не надо. ТС сам подгонит.
8. LIME - 21 Июня, 2015 - 17:13:27 - перейти к сообщению
Дык тут или да или нетУлыбка
А то тут да а там нетУлыбка

 

Powered by ExBB FM 1.0 RC1