Подтвердить что ты не робот

Разница между регулярным выражением [A-z] и [a-zA-Z]

Я использую регулярное выражение для программирования валидатора ввода для текстового поля, где мне нужны только алфавитные символы. Мне было интересно, были ли [A-z] и [a-zA-Z] эквивалентными или были различия в производительности.

Я продолжаю читать [a-zA-Z] в моих поисках и не упоминаю [A-z].

Я использую java String.matches(regex).

4b9b3361

Ответ 1

[Az] будет соответствовать символам ASCII в диапазоне от A до z, а [a-zA-Z] будет соответствовать символам ASCII в диапазоне от A до Z и в диапазоне от a до z. На первый взгляд, это может показаться эквивалентным - однако, если вы посмотрите на эту таблицу символов ASCII, вы увидите, что Az включает в себя несколько других символов. В частности, это [, \, ], ^, _ и ' (что вам явно не нужно).

Ответ 2

Аг соответствует совпадению "от" до "z" AZ "A" до "Z" Az соответствует всем этим, а также символам между "Z" и "a", которые являются [] ^/_ `

Обратитесь к http://www.asciitable.com/

Ответ 3

Посмотрите таблицу ASCII. Вы увидите, что между Z и a есть несколько символов, поэтому вы будете соответствовать больше, чем вы намерены.

Ответ 4

Когда вы посмотрите на таблицу ASCII, вы увидите следующее:

A = 65
Z = 90
a = 97
z = 122

Итак, [A-z] будет соответствовать каждому символу от 65 до 122. Сюда также входят следующие символы (91 -> 96):

[\]^_'

Это означает, что [A-Za-z] будет соответствовать только алфавиту, без дополнительных символов выше.

Ответ 5

Квадратные скобки создают класс символов, а дефис является сокращением для добавления каждого символа между двумя предоставленными символами. т.е. [A-F] можно записать [ABCDEF].

Класс символов [A-z] будет соответствовать каждому символу между этими символами, который в ASCII включает в себя некоторые другие символы, такие как '[', '\' и ']'.

Альтернативой заданию обоих случаев было бы установить регулярное выражение нечувствительным к регистру с помощью модификатора /i.

Ответ 6

Взгляните на диаграмму ASCII (на которой основаны Java-символы): имеется довольно много знаков препинания, расположенных между Z и, а именно:

[\]^ _`

Ответ 7

[A-Za-Z]

  e.g User Can Enter any small small-character from a to z  OR A to Z Any UPPERCase 
      Character

[Az] Соответствует символу в диапазоне от "A" до "z" (код символа от 65 до 122)

Что такое характер

Символ - это любая буква, цифра, пробел, знак пунктуации или символ, который можно набрать на компьютере. Например, слово "компьютер" состоит из восьми символов.

что такое цифра

Любая из цифр от 0 до 9

Что такое письмо

Вот письмо:

Что такое Alphabat

Алфавит представляет собой комбинацию букв. Вот алфавит: ABCDEFGHIJKLMNOPQRSTUVWXYZ

Я очень рекомендую просто прокрутить это, если вы только начинаете

https://en.wikipedia.org/wiki/Regular_expression

Практика здесь

https://regexr.com/

Если вы ищете регулярное выражение Java

https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html