# If you are testing a single string
irc_nick_re = /\A[a-z_\-\[\]\\^{}|`][a-z0-9_\-\[\]\\^{}|`]*\z/i
# If you are scanning them out of a larger string
irc_nick_re = /(?<=[^a-z_\-\[\]\\^{}|`])[a-z_\-\[\]\\^{}|`][a-z0-9_\-\[\]\\^{}|`]*/i
выше позволяет использовать имена односимвольные. Если требуются два символа, измените значение *
на +
. Если требуется три символа (или больше), измените его на {2,}
, где «2» - это минимальное количество символов минус 1.
Если максимальное количество символов (например, EFNet разрешает только псевдонимы до 9 символов, а Freenode - до 16 символов), после чего вы можете включить это число (минус 1) после запятой. Например:
# Validate nicknames that are between 3 and 16 characters long (inclusive)
irc_nick_re = /\A[a-z_\-\[\]\\^{}|`][a-z0-9_\-\[\]\\^{}|`]{2,15}\z/i
Каковы правила? – codaddict
Ruby использует PCRE, не так ли? http://stackoverflow.com/questions/3924648/pcre-expression-for-irc-nicknames –
Что может и не может быть в псевдониме IRC? На каких позициях? что ты уже испробовал? Что не сработало? –