Jestem bardzo nowy w obu stackoverflow i Regexes, więc proszę wybacz błędy.Regex wykrywa wszystko, co nie pomiędzy {}, a następnie przeszukuje od tego, co pasuje
Szukałem dokładnie dla Regex, aby dopasować cały tekst, który nie jest pomiędzy nawiasami klamrowymi {} i od tego tekstu znaleźć pewne słowa. Na przykład od następujący ciąg:
$content = 'Hello world, { this } is a string with { curly brackets } and this is for testing'
Chciałbym poszukiwania wyrazu this
wrócić tylko drugie wystąpienie this
ponieważ ITS w obszarze, który nie jest w nawiasach klamrowych. Nawet jeśli mogę uzyskać Regex, aby dopasować podciągi poza nawiasami klamrowymi, rzeczy się upraszczają. Znalazłem ten Regex /(}([^}]*){)/
, ale nie można wybrać części Hello world,
i and this is for testing
, ponieważ nie są one wewnątrz }{
i tylko wybiera część is a string with
.
Chciałbym również zapytać, czy możliwe jest połączenie dwóch Regexów w jednym celu, takim jak mój. Na przykład pierwszy Regex znajdzie ciągi poza {}
, a drugi znajdzie konkretne słowa, które są wyszukiwane.
Chcę użyć tego Regeksu w php i na razie używam funkcji, która jest bardziej jak hack. Celem jest znalezienie specyficznych słów, które nie są w {}
, zastąpić je niezawodnie i pisać do plików tekstowych.
Z góry dziękuję za pomoc.
To działa idealnie. Wiedziałem, że musi istnieć coś takiego (* SKIP) (* F), ale po prostu o tym nie wiedziałem. I dziwnie nie ma jeszcze podobnego pytania na temat stackoverflow. Przynajmniej nie mogłem go znaleźć. Dzięki – Shark
@Shark Dzięki, cieszę się, że Ci się podoba! :) Cześć, widzę, że jeszcze nie głosowałeś na StackOverflow. Aby uzyskać jakąkolwiek pomocną odpowiedź, rozważ głosowanie, ponieważ tak działa system reputacji. Bez zobowiązań, oczywiście! Dziękuję za wysłuchanie mojego 10-sekundowego samouczka SO Rep. :) – zx81
@Shark Btw znajdziesz inne pytania SO z tą techniką, ale tak, może nie na górze Google. Aby zapoznać się z całą historią, polecam zapoznać się z [połączonym pytaniem] (http://stackoverflow.com/questions/23589174/match-or-replace-a-pattern-except-in-situations-s1-s2-s3 -etc/23589204 # 23589204), lub zapisać go na później, miałem dużo zabawy, pisząc odpowiedź. :) – zx81