Jestem dość przyzwoity w stosunku do wyrażeń regularnych, ale jest jedna sytuacja, która zawsze mnie zmaga, a mianowicie: Podaj dopasowanie, gdy wzorzec nie istnieje w ciągu wyszukiwania.
Oto kilka podstawowych informacji:
Używam programu o nazwie Actual Tools Window Manager, który pozwala tworzyć reguły na podstawie poszczególnych okien. Mogę określić tytuł systemu Windows jako dokładny ciąg lub użyć wyrażenia regularnego, aby dopasować.
Moim celem jest uruchomienie tej reguły w dowolnym oknie, które ma tytuł, który nie zawiera określonego ciągu. Wyrażenie regularne jest tylko jednym wzorcem, podobnym do funkcji php: preg_match.
Nie mogę pracować z grupami przechwytywania i odwoływać się do grupy przechwytywania (przynajmniej nie udało mi się tego uruchomić).
Jako przykład, powiedzmy, że chcę utworzyć regułę, która odpala wszystko, z wyjątkiem sytuacji, gdy cmd.exe jest w tytule.
Otwieram wiersz polecenia, więc prawdopodobnie tytuł będzie: C:\Windows\System32\cmd.exe
Chcę, aby to okno zostało wykluczone z mojej reguły na podstawie obecności cmd.exe
Próbowałem takich rzeczy ^cmd.exe
ale to po prostu nie działa.
Rzeczywiste narzędzia używają biblioteki wyrażeń regularnych zgodnych z Perlem, więc http://www.pcre.org/ wszystko powinno być możliwe.
Jak mogę utworzyć wyrażenie regularne, które pasuje do OK, jeśli nie ma określonego ciągu, ale FAIL, jeśli ten ciąg jest obecny?