Mam problem z jedną częścią wyrażenia regularnego, które będzie używane w JavaScript. Potrzebuję sposobu na dopasowanie dowolnego znaku innego niż znak +
, pusty ciąg powinien również pasować.Wyrażenie regularne - dopasuj dowolny znak z wyjątkiem +, pusty ciąg również powinien być dopasowany
[^+]
jest prawie to, co chcę, ale nie pasuje do pustego napisu. Próbowałem myśleć: "każda postać inna niż +
, zero lub więcej razy", ale to pasuje do wszystkiego, łącznie z +
.
Jak to możliwe, że '[^ +] *' dopasowuje '+ '? To nie ma sensu. Z twoim wyrazem musi być coś jeszcze nie tak. –
@ScottRippey: Zgaduję (w mojej odpowiedzi), że kwantyfikator '*' pozwalał na pomyślne zakończenie dopasowania przez dopasowanie niczego (zero znaków, które nie są '+'). Bez żadnych zakotwiczeń i innych twierdzeń teoretycznie może się równać przed lub po znaku '+ ', umożliwiając dopasowanie całego ciągu znaków. (Oczywiście, że pasowałoby to wcześniej, ponieważ to jest pierwsze, a na tym się skończyło) czy ta ocena nie ma dla ciebie sensu? –