Regex, jak sprawdzić któy znak nie pasuje?

0

hej
sprawa jak w temacie

powiedzmy mam sobie jakiś wzorzec: ^[a-z]+$
i powiedzmy ciąg znaków: abcd9asdr

no i teraz jak robię Match to nie dopasuje mi tego ciągu wzorca...

moje pytanie: czy jest możliwość zdobycia informacji (najlepiej indeksu w string) o znaku na którym dopasowanie się wywaliło??

z góry dzięki za pomoc
pozdrawiam

0

Nie wiem czy wyrazenia regularne szukaja takich znakow, ale jesli nie to mozesz zrobic to recznie - najpierw wyszukac [^a-z], jesli jest cos takiego to usunac.

0

Hmm, nic mi do głowy nie przychodzi.

Może w ten sposób (pseudo):

<font size="3">wzorzec?[wzorzec]*</span>

Czyli:

  1. Wzorzec (leniwe)
  2. Back-reference do niepasującego
  3. Wzorzec* (zero lub więcej)

Wymyślone na szybko, nie gwarantuje poprawności.

0

hej, dzięki za odpowiedzi, ale nic z nich nie kumam :-D i nijak nie mogę tego powiązać z tym o co chciałem pytać... może zbyt niejasno się wyraziłem ;-P

otóż nie chce nic usuwać ani nic w tym stylu, po prostu chciałbym wiedzieć który znak nie pasuje
czyli jak było w moim przykładzie: ^[a-z]+$ - ciągi małych literek alfabetu łacińskiego o długości 1 wzwyż

sprawdzam: abcd9asdr - znak 4 (indeksując od zera) to cyfra czyli nie pasuje i właśnie indeks 4 chciałbym jakoś odczytać z tego że na tym znaku się wywalił

oczywiście w miejscu docelowym, w którym chce z tego skorzystać wzorzec jest "lekko" bardziej skomplikowany niż literki i cyferki;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1