Jump to content

Проблема с квантификатором в регулярном выражении


Recommended Posts

  
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
local sText = 'Kenix' 
print( sText:match('%w%w%w+') ) 

а че ваще должно ловить? "Keni" ?

просто аналог '[a-zA-Z0-9_]{3,}' для луа это то, что указано выше и ловит от всю строку "Kenix"

Судя по регулярке в первом сообщении, должна быть захвачена последовательность символов (не менее 3), в которых допустимы только латинские буквы (в любом регистре), цифры, и знак пробела.

Ваш код не подходит, т.к. если будет, например, строка K!nix, то будет захвачено nix.

Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...