За последние 24 часа нас посетили 14996 программистов и 1764 робота. Сейчас ищут 1458 программистов ...

Объясните вот такое регулярное выражение

Тема в разделе "Регулярные выражения", создана пользователем Bruha1991, 23 дек 2015.

  1. Bruha1991

    Bruha1991 Новичок

    С нами с:
    23 дек 2015
    Сообщения:
    5
    Симпатии:
    0
    Есть такое регулярное выражение '/([0-9]{2,3}).\1/'
    Не могу понять как работает. Расшифруйте по кусочкам пожалуйста.
    Насколько я понял здесь есть ссылка на подмаску. Что это значит, объясните пожалуйста новичку.
     
  2. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    есть на тубе 2 видео, примерно по 30 мин. каждая, посмотри и 70% в регулярных выражениях будешь понимать, а оставшиеся 30% уже как говориться со словарем, названия:
    PHP:
    1. Регулярные выражения(Урок 21)
    2. Javascript-джедай #28 - Регулярные выражения
     
  3. Bruha1991

    Bruha1991 Новичок

    С нами с:
    23 дек 2015
    Сообщения:
    5
    Симпатии:
    0
    Я пытался уже разбирать и нашел ответ
    "2 или 3 символа от 0 до 9, потом любая последовательность символов и те же 2 или 3 конкретных символа, которые соответствовали подмаске. То есть строка 'as34sdf34' - подойдет. Там 34, и там. А 'sd34dg32' - нет."
    Не могу понять почему подходит строка as34sdf34, если начинается с символов 'as', если вот это [0-9]{2,3} означает только 2 или 3 цифры от 0 до 9, а не символы.
     
  4. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    патаму что 2-3 символа от 0 до 9, потом любой символ, а потом цифра 1.

    Добавлено спустя 2 минуты 6 секунд:
    а может и не цифра 1, я не знаю что за \ перед ней, не знаю что он делает, на сколько я знаю его там быть не должно.
     
  5. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    \1 это повтор того что попалось в первой группе
    ну то есть в данной регулярке 123.123 - да а 123.321 нет потому что после точки не повторяется то что до
     
  6. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Bruha1991, где слова благодарности для Ganzal?
     
  7. Bruha1991

    Bruha1991 Новичок

    С нами с:
    23 дек 2015
    Сообщения:
    5
    Симпатии:
    0
    Спасибо большое Ganzal!