Является ли [-az] тем же, что и [a-zA-Z] в регулярном выражении? - PullRequest
1 голос
/ 22 февраля 2011

Из класса CI_Form_validation в Codeigniter я вижу эту функцию:

function alpha_dash($str)
{
    return ( ! preg_match("/^([-a-z0-9_-])+$/i", $str)) ? FALSE : TRUE;
}

Я думаю, что - перед a-z, возможно, означает [a-zA-Z], но ввод -a-z в Google не дает никакого полезного результата.

Я бы хотел знать, совпадает ли [-a-z] с [a-zA-Z]?

Заранее спасибо.

EDIT:

После просмотра i я теперь знаю, [-a-z] не означает [a-zA-Z]. Но что это? Уже есть - в конце.

Ответы [ 7 ]

7 голосов
/ 22 февраля 2011

Нет, это не так.Но ваше регулярное выражение использует модификатор i в конце регулярного выражения, что означает игнорирование.

, поэтому /[a-z]/i и /[a-zA-Z]/ - это одно и то же

7 голосов
/ 22 февраля 2011

Нет. Это означает «дефис или любую из букв между a и z».

4 голосов
/ 22 февраля 2011

-a-z будет дефисом (-) и любой буквой между a и z.Но потом они снова получают его в выражении само по себе, что является избыточным.

2 голосов
/ 22 февраля 2011

В дополнение к ответам, данным @David и @Ryan, я также хотел бы добавить, что если вы ищете что-то, что означает [a-zA-Z], то это будет /^[a-z]$/i, где i означает case- нечувствительным.

2 голосов
/ 22 февраля 2011

[a-z] - это не то же самое, что [a-zA-Z], , но , когда вы выполняете поиск без учета регистра, конечно, это то же самое.[-a-z] - это просто дефис и строчные буквы az, а /i делает его строчным + прописным.

«i» после разделителя шаблона указывает поиск без учета регистра

из preg_match

1 голос
/ 22 февраля 2011

[-a-z] будет соответствовать дефису (-) или любой строчной букве

[a-zA-Z] будет соответствовать любой строчной или прописной букве

1 голос
/ 22 февраля 2011

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

[a-zA-Z]

означает «Любой прописной и строчный буквенный символ»

, а

[-a-z]

означает «Любой минус или строчный буквенный символ»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...