Поиск в регулярных выражениях в vim - PullRequest
2 голосов
/ 21 декабря 2010

Я использую vim для сопоставления с образцом в текстовом файле.Я включил подсветку поиска, чтобы точно знать, что сопоставляется в каждом поиске, и запутываюсь.

Попробуйте поискать [a-z]* в следующем тексте:

123456789abcdefghijklmnopqrstuvwxyxz987654321ABCDEFGHIJKLMNOPQRSTUVWQXZ

Iожидается, что этот поиск будет соответствовать нулю или более последовательных символов в диапазоне [az].Вместо этого я получаю совпадение по всей строке.

Должно ли это быть ожидаемым поведением?

Спасибо,

Эндрю

Ответы [ 3 ]

7 голосов
/ 21 декабря 2010

Соответствует пустым строкам, которые появляются после каждого символа. У него нет способа подсвечивать пустые диапазоны, поэтому похоже, что все подсвечено.

Попробуйте поискать вместо [a-z]\+.

2 голосов
/ 21 декабря 2010

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

2 голосов
/ 21 декабря 2010

Пустая строка соответствует [a-z]* ... поэтому эта вещь совпадает везде.Возможно, вы хотите сократить некоторые случаи, выполнив [a-z]+ (1 или более) или [a-z]{4,} (4 или более).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...