Kenix Posted August 25, 2012 Share Posted August 25, 2012 local sText = 'Kenix' print( sText:match '[a-zA-Z0-9_]{3,}' ) -- nil Такое регулярное выражение не работает, но если вместо квантификатора поставить символьные классы local sText = 'Kenix' print( sText:match '[a-zA-Z0-9_][a-zA-Z0-9_][a-zA-Z0-9_][a-zA-Z0-9_]' ) -- Keni то всё будет работать! Помогите пожалуйста. Link to comment
_Dark_ Posted August 25, 2012 Share Posted August 25, 2012 (edited) В Lua используются не POSIX-совместимые регулярные выражения, поэтому там не так как все привыкли. Edited August 25, 2012 by Guest Link to comment
Kernell Posted August 25, 2012 Share Posted August 25, 2012 Т.е. в Lua вообще не регулярные выражения, а просто шаблоны Link to comment
Kenix Posted August 25, 2012 Author Share Posted August 25, 2012 Жалко, ладно запросил на баг трекере. Link to comment
_Dark_ Posted August 25, 2012 Share Posted August 25, 2012 Собственно, если нужно захватить от 3 символов, то можно local sText = 'Kenix' print((#sText >= 3) and sText:match '^[a-zA-Z0-9_]+$' or "nil") Link to comment
Kenix Posted August 25, 2012 Author Share Posted August 25, 2012 Да это я знаю, хотел в регулярке сделать всё. Спасибо в любом случае. Link to comment
_Misha_V_ Posted August 25, 2012 Share Posted August 25, 2012 local sText = 'Kenix' print( sText:match('%w%w%w+') ) а че ваще должно ловить? "Keni" ? просто аналог '[a-zA-Z0-9_]{3,}' для луа это то, что указано выше и ловит оно всю строку "Kenix" Link to comment
_Dark_ Posted August 25, 2012 Share Posted August 25, 2012 local sText = 'Kenix' print( sText:match('%w%w%w+') ) а че ваще должно ловить? "Keni" ? просто аналог '[a-zA-Z0-9_]{3,}' для луа это то, что указано выше и ловит от всю строку "Kenix" Судя по регулярке в первом сообщении, должна быть захвачена последовательность символов (не менее 3), в которых допустимы только латинские буквы (в любом регистре), цифры, и знак пробела. Ваш код не подходит, т.к. если будет, например, строка K!nix, то будет захвачено nix. Link to comment
_Misha_V_ Posted August 25, 2012 Share Posted August 25, 2012 Лучше сам Kenix пусть скажет, потому что шаблоны практически тождественны Link to comment
Kenix Posted August 26, 2012 Author Share Posted August 26, 2012 Вопрос давно решён. Ещё раз спасибо всем. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now