Как выполнить поиск без учета регистра в Vim

Это регулярное выражение соответствует номерам в конце строки.

var matches = str.match(/\d+$/);

Он вернет Array с его 0 -гом элементом совпадение в случае успеха. В противном случае он вернет null.

Перед доступом к члену 0 убедитесь, что было выполнено совпадение.

if (matches) {
    number = matches[0];
}

jsFiddle .

Если вы должны иметь его как Number, вы можете использовать функцию для его преобразования, например parseInt().

number = parseInt(number, 10);

1515
задан Josh 2 April 2014 в 12:50
поделиться

5 ответов

Вам необходимо использовать escape-последовательность \ c . Итак:

/ \ ccopyright

Чтобы сделать обратное (совпадение с учетом регистра ), используйте вместо этого \ C .

2001
ответ дан 22 November 2019 в 20:13
поделиться

Вы можете установить параметр ic в Vim перед поиском:

:set ic

Чтобы вернуться к поиску с учетом регистра, используйте:

:set noic

ic - это сокращение для ignorecase

274
ответ дан 22 November 2019 в 20:13
поделиться

Помимо предложений для \ c и игнорировать регистр , я нахожу смарт-кейс очень полезно. Если вы ищете что-то, содержащее символы в верхнем регистре, поиск будет выполняться с учетом регистра; если вы ищете что-то чисто строчные, поиск будет без учета регистра. Вы можете использовать \ c и \ C , чтобы переопределить это:

:set ignorecase
:set smartcase
/copyright      " Case insensitive
/Copyright      " Case sensitive
/copyright\C    " Case sensitive
/Copyright\c    " Case insensitive

См .:

:help /\c
:help /\C
:help 'smartcase'
650
ответ дан 22 November 2019 в 20:13
поделиться

Вы можете ввести команду

:set ignorecase

, и после этого поиск будет без учета регистра.

55
ответ дан 22 November 2019 в 20:13
поделиться

Для переключения между поиском с учетом регистра и без учета регистра я использую эту связку в моем .vimrc

nmap :set ignorecase! ignorecase?

45
ответ дан 22 November 2019 в 20:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: