Czy można zdefiniować wyrażenie regularne, które będzie pasować do każdego znaku oprócz określonego znaku lub zestawu znaków?
Zasadniczo chciałem podzielić ciąg przez przecinek (,) lub średnik (;). Tak więc myślałem o zrobieniu tego z wyrażeniem regularnym, które pasowałoby do wszystkiego, dopóki nie napotka przecinka lub średnika.
Używaj klas postaci. Klasa postaci rozpoczynająca się od karetki pasuje do wszystkiego, co nie należy do tej klasy.
źródło
użyj ujemnej klasy znaków :
źródło
Użyj tego:
źródło
(?:([^,;]*)(?:[^,;]|$))
” (PCRE z nawiasami nie przechwytującymi). Alternatywy przecinka lub średnika po polu lub końcu zapisu sprawiają, że wszystko działa lepiej. Zastanów się również, czy puste pola są dozwolone.