Имя узла Regex

если Вы хотите посмотреть на этот список и перейти быстро между соответствиями, рассмотреть использование

:vimgrep example %

, или

:grep example %

Это заполнит "ошибочный список" со всеми соответствиями так, чтобы можно было использовать :copen для списка их всех в буфере quickfix, нажатие вводят в конкретную строку для перехода к тому соответствию или командам использования как :cn и :cp для движения назад и вперед.

для полного объяснения, см. мой ответ на подобный вопрос

28
задан CannibalSmith 13 September 2009 в 18:20
поделиться

3 ответа

^ (? =. {1,255} $) [0-9A-Za-z] (?: (?: [0-9A-Za-z] | -) {0, 61} [0-9A-Za-z])? (?: \. [0-9A-Za-z] (?: (?: [0-9A-Za-z] | -) {0,61} [0-9A-Za-z])?) * \.? $

27
ответ дан 28 November 2019 в 03:34
поделиться

Ваш ответ был относительно близок.

Но см.

Для RE с именем хоста этот модуль perl создает

 ( ?: (?: (?: (?: [a-zA-Z0-9] [- a-zA-Z0-9] *)? [a-zA-Z0-9]) [.]) * (? : [a-zA-Z] [- a-zA-Z0-9] * [a-zA-Z0-9] | [a-zA-Z]) [.]?)

Я бы изменил, чтобы быть более точным:

 (?: (?: (?: (?: [A-zA-Z0-9] [- a-zA-Z0-9] {0,61 })? [a-zA-Z0-9]) [.]) * (?: [a-zA-Z] [- a-zA-Z0-9] {0,61} [a-zA-Z0- 9] | [a-zA-Z]) [.]?)

Необязательно привязывая концы к ^ $ ТОЛЬКО для соответствия имен хостов.

Я не думаю, что один RE может выполнить полную проверку, потому что, согласно Википедии , там - ограничение на длину 255 символов, которое, я не думаю, может быть включено в тот же RE, по крайней мере, без множества изменений, но достаточно просто проверить длину <= 255 перед запуском RE.

4
ответ дан 28 November 2019 в 03:34
поделиться

Обратите внимание на следующий вопрос. В некоторых ответах есть регулярные выражения для имен хостов

Не могли бы вы указать, на каком языке вы хотите использовать это регулярное выражение? Большинство языков / систем имеют несколько разные реализации регулярных выражений, которые влияют на ответы людей.

1
ответ дан 28 November 2019 в 03:34
поделиться
Другие вопросы по тегам:

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