Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 3 из 3

Тема: Regex Pattern

  1. #1
    Аватар для execution
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.03.2018
    Сообщений
    255
    Репутация:
    24 ±

    Regex Pattern

    Почему срабатывает лишь тогда, когда написано лишь одно слово из списка.
    PHP код:
    stock IsAdvertisingMessage(const str[])
    {
        static const
            
    F_STRING[] = "лол|кфыв";

        static
            
    string[20 sizeof(F_STRING) + 1],
            
    Regex:r,
            
    m;

        
    string "(\\W|^)(";
        
    strcat(stringF_STRING);
        
    strcat(string")(\\W|$)");

        
    Regex_New(string);
        
    Regex_Check(strr);

        
    Regex_Delete(r);

        return 
    m;


  2. #2
    Аватар для tnc
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.09.2019
    Сообщений
    121
    Репутация:
    26 ±

  3. #3
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Потому что для срабатывания Regex_Check вся строка должна соответствовать выражению.

    1. stock IsAdvertisingMessage(const str[])
    2. {
    3. static
    4. F_STRING_1[] = "(\\W|^)",
    5. F_STRING_2[] = "лол|кфыв",
    6. F_STRING_3[] = "(\\W|$)";
    7.  
    8. if(F_STRING_1[sizeof(F_STRING_1)-1] != '(')
    9. {
    10. F_STRING_1[sizeof(F_STRING_1)-1] = '(';
    11. F_STRING_2[sizeof(F_STRING_2)-1] = ')';
    12. F_STRING_3[sizeof(F_STRING_3)-1] = '\0';
    13. }
    14.  
    15. new Regex:r = Regex_New(F_STRING_1);
    16. new RegexMatch:buff;
    17. new m = Regex_Search(str, r, buff, _:buff);
    18.  
    19. Regex_Delete(r);
    20.  
    21. return m;
    22. }
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  4. Пользователь сказал cпасибо:
    execution (03.10.2019)
 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •