Регулярное выражение для проверки метки DNS (имя хоста)

Способ Я решил, что этот должен иметь псевдоним оболочки, который вызывает скрипт и источник файла, который написал сценарий. Так, например,

function waypoint {
    python "$WAYPOINT_DIRECTORY"/waypoint.py $@ &&
    source ~/.config/waypoint/scratch.sh
    cat /dev/null > ~/.config/waypoint/scratch.sh
}

и waypoint.py создает scratch.sh, чтобы выглядеть как

cd /some/directory

Это по-прежнему плохое.

13
задан Rwahyudi 14 January 2010 в 09:31
поделиться

1 ответ

^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{,63}(?<!-)$

Я использовал следующий испытательный стенд, записанный в Python, чтобы проверить, что он работает правильно:

tests = [
    ('01010', False),
    ('abc', True),
    ('A0c', True),
    ('A0c-', False),
    ('-A0c', False),
    ('A-0c', True),
    ('o123456701234567012345670123456701234567012345670123456701234567', False),
    ('o12345670123456701234567012345670123456701234567012345670123456', True),
    ('', True),
    ('a', True),
    ('0--0', True),
]

import re
regex = re.compile('^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{,63}(?<!-)$')
for (s, expected) in tests:
    is_match = regex.match(s) is not None
    print is_match == expected
16
ответ дан 1 December 2019 в 01:11
поделиться
Другие вопросы по тегам:

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