2009-11-23 3 views

ответ

3

Я думал, что \ ш часть соответствует "H"

\w соответствует любому буквенно-цифровых символов (и подчеркивания). Это также происходит в соответствии с H, но это не очень интересно, поскольку регулярное выражение затем продолжает утверждать, что это должно быть сопоставлено дважды - который H не может в вашем тексте (так как он не появляется дважды подряд) , и ни один из других персонажей, только l. Таким образом, регулярное выражение соответствует ll.

+0

спасибо, я просто понял, – freenight

2

и вы правы, ничего не было сопоставлено в этом положении. то regex пошел дальше и нашел совпадение, которое оно вернуло к вам.

\w, конечно, соответствует любому символу слова, а не только 'H'.

+0

спасибо .. я разобрался .. – freenight

3

Вы думаете о /^(\w)\1/. Символ каретки указывает, что совпадение должно начинаться в начале строки. Без этого матч может начинаться в любом месте строки (он найдет первое совпадение).

0

Точка, «\ 1» означает одно повторение блока «(\ w)», только буква «l» удваивается и будет соответствовать вашему регулярному выражению.

Хорошая страница играли вокруг с рубином и регулярными выражениями Rubular

Смежные вопросы