[Plugin] Регулярные выражения
#1

Описание:
Регуля́рные выраже́ния (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэ́кспы или ре́гексы) — это формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов (символов-джокеров, англ. wildcard characters). По сути это строка-образец (англ. pattern, по-русски её часто называют «шаблоном», «маской»), состоящая из символов и метасимволов и задающая правило поиска.

Подробное описание
Функции:
pawn Код:
native RegEx:regex_build(const expression[]);
native regex_delete(RegEx:expID);
native regex_isvalid(RegEx:expID);
native regex_delete_all();

native regex_match(const string[], const expression[]);
native regex_search(const string[], const expression[]);
native regex_replace(const string[], const expression[], const to[], dest[], size = sizeof dest);

native regex_match_exid(const string[], RegEx:expID);
native regex_search_exid(const string[], RegEx:expID);
native regex_replace_exid(const string[], RegEx:expID, const to[], dest[], size = sizeof dest);
Примеры:
pawn Код:
#define IsValidEmail(%1) \
    regex_match(%1, "[a-zA-Z0-9_\\.]+@([a-zA-Z0-9\\-]+\\.)+[a-zA-Z]{2,4}")
   
#define IsValidRpName(%1) \
    regex_match(%1, "([A-Z]{1,1})[a-z]{2,9}+_([A-Z]{1,1})[a-z]{2,9}")
   
#define IsValidText(%1) \
    regex_match(%1, "[ а-яА-Яa-zA-Z0-9_,!\\.\\?\\-\\+\\(\\)]+")
Лог:
  • 0.2.1
    - Фикс params в (regex_delete, regex_isvalid)
  • 0.2
    - Добавлены новые функции
    pawn Код:
    native RegEx:regex_build(const expression[]);
    native regex_delete(RegEx:expID);
    native regex_isvalid(RegEx:expID);
    native regex_delete_all();

    native regex_match_exid(const string[], RegEx:expID);
    native regex_search_exid(const string[], RegEx:expID);
    native regex_replace_exid(const string[], RegEx:expID, const to[], dest[], size = sizeof dest);
  • 0.1
    - Первый релиз
Скачать:
Reply
#2

Работают также как и в PHP?
Reply
#3

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
Работают также как и в PHP?
Описание работы Perl Regular Expression Syntax
Reply
#4

Fro1sha, я знаю как работают регулярные выражения, достаточно было сказать да или пояснить в чем отличия.
Reply
#5

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
Fro1sha, я знаю как работают регулярные выражения, достаточно было сказать да или пояснить в чем отличия.
Reply
#6

Шикарно,гуд ворк!
Reply
#7

Stepashka,

Руглярки практически везде одинаково работают. Напремер в пхп не работает /g, а в JavaScrip работает.

И у тя Fro1sha регулрки немного не так написаны, регулярки оформляются в слэши / с начала и конца. Напрмер:

/Expression/mi
Reply
#8

Quote:
Originally Posted by Romanius
Посмотреть сообщение
Stepashka,

Руглярки практически везде одинаково работают. Напремер в пхп не работает /g, а в JavaScrip работает.

И у тя Fro1sha регулрки немного не так написаны, регулярки оформляются в слэши / с начала и конца. Напрмер:

/Expression/mi
А можно поподробнее с примером, я как бы не особо разбираюсь в этом =)
Reply
#9

вообще регулярные выражения заключают в // т.е.

/[\w.]\_[\w.]/gm

последнии две буквы озночают, что мы будем искать глобально и по всем строчкам

ща, попроюсь у ся, инфу поищу.
Reply
#10

Romanius, регулярки обрамляются в любой символ, это не влияет абсолютно ни на что, на вкус автора так скаать. Я вот решотки люблю
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)