Re: CMUD
: 01 lut 2012 08:11
Amirez - ^(?:> ) - tak zaczynajac ograniczasz sprawdzanie wzorca tylko przez linie zaczynajace sie '> ' - w przypadku gdy nie bedziesz mial tego symbolu na poczatku linii trigger nie zadziala bo linia nie bedzie pasowala do wzorca. Oba przypadki tzn. z '> ' i bez mozesz uwzglednic zastepujac to ^(?:> )? albo np. ^(?:> |). Nie jestem pewien czy ta spacja przed Wykorzystujac przeszkadza, ale powiedzialbym ze tak, linie pasujace do Twojego wzorca prawdopodobnie musza zaczynac sie > i miec dwie spacje przed Wykorzystujac. Nie wiem co ma byc w subie ale we wzorcu wyraznie zaznaczyles ze fragmenty tekstu pasujace do @rany i @wrog nie maja byc zapamietywane jako zmienne... pod %1 bedziesz mial ciecie lub pchniecie pod %2 go lub ja. Ten Twoj poprzedni problem z zwracaniem pustej linii #sa %db(@rany,%1) moze byc z tym zwiazany - byc moze po prostu pod %1 nie ma zapisanego rodzaju rany, ale np. przeciwnik.
Moim zdaniem probujesz zbyt szczegolowy wzorzec stworzyc, czasami nie jest to konieczne, w przypadku Twojego triggera prawdopodobnie
^(?:> )?Wykorzystujac dogodny moment .+ w (@wrog)\, (@rany) .+\.$ by wystarczylo, pod %1 mialbys wroga, pod %2 rodzaj obrazen do ew. suba
Piszac rozbudowane regexpy nieraz trzeba byc wyjatkowo ostroznym i uwazac na kazdy znak/symbol, dlatego moja rada jest taka - jezeli cos Ci nie dziala, skroc to maksymalnie, sprawdz czy wtedy dziala, dodaj kolejny element, sprawdz ponownie, jezeli dziala to dodaj kolejny element itd. az zbudujesz konkretny wzorzec, ktory masz w zamysle, jezeli nie dziala to wtedy szukasz bledu w danym elemencie...slonia latwiej zjesc w czesciach niz w calosci.
Moim zdaniem probujesz zbyt szczegolowy wzorzec stworzyc, czasami nie jest to konieczne, w przypadku Twojego triggera prawdopodobnie
^(?:> )?Wykorzystujac dogodny moment .+ w (@wrog)\, (@rany) .+\.$ by wystarczylo, pod %1 mialbys wroga, pod %2 rodzaj obrazen do ew. suba
Piszac rozbudowane regexpy nieraz trzeba byc wyjatkowo ostroznym i uwazac na kazdy znak/symbol, dlatego moja rada jest taka - jezeli cos Ci nie dziala, skroc to maksymalnie, sprawdz czy wtedy dziala, dodaj kolejny element, sprawdz ponownie, jezeli dziala to dodaj kolejny element itd. az zbudujesz konkretny wzorzec, ktory masz w zamysle, jezeli nie dziala to wtedy szukasz bledu w danym elemencie...slonia latwiej zjesc w czesciach niz w calosci.