Объясните регулярное выражение [^.]

Тема в разделе "PHP", создана пользователем muzshura, 7 апр 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. muzshura

    muzshura Постоялец

    Регистр.:
    27 фев 2008
    Сообщения:
    74
    Симпатии:
    3
    Помогите понять вот такое выражение:

    ([^.]*)
     
  2. madde

    madde Прохожие

    где ты его видел можешь например написать)?
     
  3. ozware

    ozware

    Регистр.:
    22 апр 2007
    Сообщения:
    327
    Симпатии:
    42
    если в такой конструкции /([^.])*/mi, то скорее всего означает всякие переводы строк

    ну это имхо, надо втыкать и проверять
     
  4. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    ([^.]*)

    по сути является ошибочной регуляркой, т.к. точка соотвествует любому символу...
    Но работает как регулярка ([^\.]*)
    т.е. будут братся все символы кроме точки...
    Возможно какой-нить горе кодер так разбивает подстроки точкой.
     
  5. venetu

    venetu

    Регистр.:
    28 мар 2007
    Сообщения:
    735
    Симпатии:
    261
    Внутри квадратных скобочек точка считается символом '.' - а не любым символом. Это по правилам так.

    Потому что "любой символ" никому в голову не придет комбинировать с еще какими-то, внутри квадратных скобок.


    Поэтому выражение [^.] следует читать как "не-точка". То же самое, что и [^\.]

    Внутри [] вообще много специальных символов не нужно эскейпить - $ ? + * и т.д.
     
    muzshura нравится это.
Статус темы:
Закрыта.