Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Что не так с регулярным выражением? (https://javascript.ru/forum/misc/24622-chto-ne-tak-s-regulyarnym-vyrazheniem.html)

Livaanderiamarum 07.01.2012 23:46

Что не так с регулярным выражением?
 
Вот смотрите ГЛЮК регулярных выражений либо крвое обьяснение статьи которую я читаю:


var reg = /a-z/
var str = 'q'
var test = reg.test(str)
alert(test)



вот смотрите, a-z это литерал обозначающий 26 символов строчных букв языка.
q ЯВЛЯЕТСЯ строчной буквой английского языка? - да!
ВХОДИТ ЛИ ОНА В МНОЖЕСТВО a-z ?? - ДА!

выдает false

melky 07.01.2012 23:57

Цитата:

[xyz]

Набор символов. Находит любой из перечисленных символов. Вы можете указать промежуток, используя тире. Например, [abcd] - то же самое, что [a-d]. Найдет 'b' в "brisket", а также 'a' и 'c' в "ache".
наверное, статья кривовата

Saqsess 07.01.2012 23:58

Ошибка в первой строчке:
var reg = /[a-z]/;
var str = 'q';
var test = reg.test(str);
alert(test);

Livaanderiamarum 07.01.2012 23:59

Цитата:

Сообщение от melky
наверное, статья кривовата

Начнем с самого простого - литералов:

Каждый из таких символов представляет сам себя. Например, /abc/ - такому шаблону сопоставима только строка "abc".

a-z - все строчные буквы от a до z. Например, /a-z/ - такому шаблону сопоставляются 26 строк: "a", "b", "c"... "z"

A-Z - все заглавные буквы от A до Z.

0-9 - все цифры.
________________________

вот таких статей я и начитался и нихуя не понимал.. недели 2 учил регулярки но они у меня не работали. понятно теперь что мозги кривые у авторов...

melky 08.01.2012 00:00

a-z подразумевает строку a-z
alert( /a-z/.test('a-z') );

чтобы это превратить в множество, облачай это в квадратные скобки.

они имели в виду содержимое скобок.

Livaanderiamarum 08.01.2012 00:00

Цитата:

[xyz]

Набор символов. Находит любой из перечисленных символов. Вы можете указать промежуток, используя тире. Например, [abcd] - то же самое, что [a-d]. Найдет 'b' в "brisket", а также 'a' и 'c' в "ache".
откуда паста! срочно линк)!

Livaanderiamarum 08.01.2012 00:02

Цитата:

a-z - все строчные буквы от a до z. Например, /a-z/ - такому шаблону сопоставляются 26 строк: "a", "b", "c"... "z"
НО ВОТ ЭТО ЖЕ ПИЗДЕЖЬ наглый при чем!!!! Или я не прав: Автор врет людям ((((((((

но ведь не такому /a-z/ , а такому /[a-z]/ криворукое он чудовище

melky 08.01.2012 00:03

Цитата:

Сообщение от Livaanderiamarum (Сообщение 148754)
откуда паста! срочно линк)!

статья с этого сайта..

Livaanderiamarum 08.01.2012 00:04

Цитата:

Сообщение от melky (Сообщение 148757)

офигеть она у меня открыта уже второй день все думал прочитать.) спасибо)

Livaanderiamarum 08.01.2012 00:08

/[a-c]/ == /[abc]/ это понятно
/[a-cb]/ дело в том что a-c уже включает в себя b, что будет если я 2 раза одно и то же напишу)?

nerv_ 08.01.2012 00:23

Livaanderiamarum, я с регами знаком чуть меньше недели. На самом деле там все достаточно просто.

[...] - символьный класс. Там некоторые символы ведут себя иначе. Т.е. вне квадратных скобок они значат одно, а в них другое.

Livaanderiamarum 08.01.2012 00:39

Цитата:

Сообщение от nerv_ (Сообщение 148764)
Livaanderiamarum, я с регами знаком чуть меньше недели. На самом деле там все достаточно просто.

[...] - символьный класс. Там некоторые символы ведут себя иначе. Т.е. вне квадратных скобок они значат одно, а в них другое.

А ты по какому учебнику учишь)? по сути если бы я их уже узнал, то смог бы обьяснить себе в прошлом, когда я их еще не знал, за 10-15 минут максимум)) просто своими словами))

а так ни кто толком обьяснять не умеет) ну за редкими исключениями)

nerv_ 08.01.2012 00:47

Livaanderiamarum, да я же говорю, читаешь эту статью (на нее советую сделать закладку), затем эту и много становиться понятно. А книга Дж.Фридл - Регулярные выражения, 3-е изд.[2008].pdf уже идет как бестселлер)
Далее ставишь себе простую задачу (подразумевается, что книгу ты не читал) и пытаешься ее решить используя таблицу по первой ссылке. Все)


Часовой пояс GMT +3, время: 02:47.