Как проверить, имеет ли строка следующий формат XXXX

Когда вы объявляете переменную, вам не нужно использовать $, но когда вы ее используете, вы должны.

Так что просто назначьте вот так, и все должно работатьnumber=${numbers[3]}

0
28.11.2019, 21:00
3 ответа

Наиболее точным шаблоном регулярного выражения для вашего случая будет:

^[^[:space:].]+\.[^[:space:].]+\.[^[:space:].]+\.[^[:space:].]+$
0
28.01.2020, 03:05

Я пришел к такому решению:

foo="this1.should.definitely.work2"
[[ $foo =~ ^.*\..*\..*\..*$ ]] && echo "match" 
0
28.01.2020, 03:05

Вы можете использовать класс [[:alnum:]], обозначающий буквы и цифры:

$p =~ ^[[:alnum:]]+\.[[:alnum:]]+\.[[:alnum:]]+\.[[:alnum:]]+$
0
28.01.2020, 03:05

Теги

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