SA-MP Forums Archive
[Plugin] Регулярные выражения - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+----- Forum: Релизы/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=66)
+----- Thread: [Plugin] Регулярные выражения (/showthread.php?tid=247892)



Регулярные выражения 0.2 - Fro1sha - 11.04.2011

Описание:
Регуля́рные выраже́ния (англ. 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_,!\\.\\?\\-\\+\\(\\)]+")
Лог: Скачать:


Re: Регулярные выражения - Stepashka - 11.04.2011

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


Re: Регулярные выражения - Fro1sha - 11.04.2011

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


Re: Регулярные выражения - Stepashka - 11.04.2011

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


Re: Регулярные выражения - Fro1sha - 11.04.2011

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



Re: Регулярные выражения - Johnny_Xayc - 11.04.2011

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


Re: Регулярные выражения - Romanius - 11.04.2011

Stepashka,

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

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

/Expression/mi


Re: Регулярные выражения - Fro1sha - 11.04.2011

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

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

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

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


Re: Регулярные выражения - Romanius - 11.04.2011

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

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

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

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


Re: Регулярные выражения - Stepashka - 11.04.2011

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