2012-11-10 8 views
5

Jest to konkretne pytanie regex ..Java Regex Mecz Jeśli nie poprzedzone hasła

muszę regex, które można znaleźć danego słowa kluczowego .. Przykład ABCDE Ale to nie powinien odpowiadać, jeśli niektóre znaki poprzedzają ten Hasło .. Przykład ]]

Więc ... W taką linię, należy jedynie dopasować odważne część ..

[[TestChannel]] ABCDE: to jest test ABCDE

EDIT: staram rzeczy tutaj .. http://gskinner.com/RegExr/

tej pory co próbowałem ..

(!]])(ABCDE) 
((!]])ABCDE) 
(!]])!(ABCDE) 
((!]])|ABCDE) 

Rozwiązanie: Z pomocą linku Pshemo skomentowane - > http://www.regular-expressions.info/lookaround.html#lookbehind

(?<!]])ABCDE 
+1

Cześć Prathamesh, co próbowaliście? Jak zobaczysz, StackOverflow nie jest miejscem, gdzie możesz delegować cię do pracy (trochę "potrzebuję" w twoim pytaniu). – Augusto

+0

Witam, przepraszam, że nie dodałem więcej informacji wcześniej .. Zmieniono je w pytaniach .. Będę google więcej do tego czasu .. Próbowałem kilku, ale nie działały .. Próbowałem pomóc pewnemu grupa moderatorów w społeczności, aby skonfigurować filtry czatu, aby znaleźć określoną listę słów kluczowych. –

+3

Prawdopodobnie potrzebujesz mechanizmu [lookbehind] (http://www.regular-expressions.info/lookaround.html#lookbehind), ale przeczytaj także o jego [ograniczeniach] (http://www.regular-expressions.info/lookaround.html#limitbehind). – Pshemo

Odpowiedz

7
(?<!]])ABCDE 

Dzięki Pshemo za linki.

+0

Czy mógłbyś dodać to, aby odpowiedzieć na twoje oryginalne pytanie? Ułatwiłoby to innym szybkie znalezienie rozwiązania. – Jonatan

+0

Zrobione, dziękuję za sugestię. –

+0

@PrathameshGharat Jeśli ta odpowiedź rozwiąże problem opisany w twoim pytaniu, zaakceptuj to. Chociaż nie dostaniesz +2 rep (to jest twoja własna odpowiedź), ale może pomóc przyszłym użytkownikom SO. W jaki sposób? Pomyślcie o tym, kiedy wyszukujecie pytania, których możecie użyć, aby rozwiązać swój problem, na które pytanie chcielibyście najpierw przeczytać: z zaakceptowaną odpowiedzią lub bez :)? – Pshemo