Строка, которую я получаю, используя форму read пользователя, может содержать:

  • буквы
  • чисел
  • _

Для другой строки правила те же, что и выше, плюс:

  • начинается только с букв

Я начинаю с этого:

if [[ $A = [a-z]* ]]

но он проверяет, начинается ли строка строчными буквами,

1 ответ1

1

Для первого случая это должно работать:

if [[ $A = \w+ ]]

\w создает символ "слово", который включает в себя подчеркивание. Он может распознавать некоторые строки Юникода, которые могут быть недопустимыми, поэтому [A-Za-z0-9\\_] может работать лучше, чем \w для вас.

Для второй попытки:

if [[ $A = ^[A-Za-z]\w+ ]]

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .