Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

Регулярка / Регулярки / Регулярное выражение

тут можно задать вопрос по скриптингу
Post Reply
qpeo
Neophyte
Neophyte
Posts: 11
Joined: 14.07.2014 21:21

Регулярка / Регулярки / Регулярное выражение

Post by qpeo »

Заполнил заголовок так, что бы поиск находил.

Помогите написать паттерн для регулярки, а точнее саму схему написания регулярок, и потом ее использовать в скрипте для получения Булиевого значения.
допусти меня снупят. у того кого снупят появляется запись 'You notice $nickName attempting to peek into your backpack'
и я хочу проверить последнюю запись в журнале на наличие отрывка 'to peek into your backpack'
Например:

Code: Select all

   if LastJournalMessage.contains(regexp) then UOSay('guards'); 
или
   if assertTrue(LastJournalMessage, regexp) then UOSay('guards'); //хаха, соченяю на ходу
или
   if regexp(LastJournalMessage, patten) <> 0 then UOSay('guards'); //вот меня поперло
Подскажите как это организовать.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Регулярка / Регулярки / Регулярное выражение

Post by Vizit0r »

не в ту сторону поперло вообще.
InJournal
InJournalBetweenTimes
и так далее из того же раздела.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
drabadan
Expert
Expert
Posts: 730
Joined: 13.12.2012 17:35
Contact:

Re: Регулярка / Регулярки / Регулярное выражение

Post by drabadan »

Лучше это событием решить, очень тру получится. Вот я писал одному товарищу на англстороне. Попробуй разобраться.

Code: Select all

program Logger;

procedure JournalHandler(Text, SenderName : String; SenderID : Cardinal);
begin
 if BMSearch(0, Text, '>') > 0 then  
AddToSystemJournal('Public message ' + Text); //instead of this you can store info anyhow you like; 
if BMSearch(0, Text, '[') > 0 then  
AddToSystemJournal('Guild message' + Text);
end;

begin 
SetEventProc(evUnicodeSpeech, 'JournalHandler'); 
while true do wait(300);
end.

Post Reply