Post
#1
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Czy jest możliwe zanegowanie całych słów w wyrażeniu regularnym?
Chcę napisać wyrażenie regularne, które zaakceptuje wszystkie inne słowa poza np. foo, bar Przykładowe wyniki "testu" wyrażenia widok - ok foo - nie ok bar - nie ok foobar - ok mieso - ok itd... |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%)
|
Z teorii automatów: jeśli automat skończony (tj. wyrażenie regularne) akceptuje język X, to aby akceptować dopełnienie języka X, wystarczy zamienić miejscami stany akceptujące i odrzucające (czyli krótko mówiąc: zanegować). Ponadto poczytaj sobie o znaczeniu symbolu ^ w wyrażeniach regularnych Perla, gdyż nie działa on tak, jak myślisz. Jako negacja funkcjonuje wyłącznie w klasie znaków, tj. w nawiasach kwadratowych, a wszędzie indziej reprezentuje początek badanego słowa. |
|
|
|
wookieb [RegExp] Negacja słów 19.04.2010, 19:28:25
blooregard [PHP] pobierz, plaintext if (preg_match('/... 19.04.2010, 20:23:14
wookieb No i właśnie o to mi chodzi, że negacja powinno ne... 22.04.2010, 18:54:01
wookieb Czyli tak jak myślałem - nie da się. Bez flagi się... 22.04.2010, 22:08:29 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 04:37 |