Wyrażenie w pythonie re.match

Wyrażenie w pythonie re.match
KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
0

Próbuję napisać takie wyrażanie które obejmowało by znaki od A do Z od a do z od 0 do 9 - , i spację z literami i cyframi problemu nie ma ale wytłumaczy ktoś jak mogę dodać myślnik i przecinek?
Mam cos takiego ale nie działa do końca

Kopiuj
tytul=input("Title: ")
                if re.match("[-a-zA-Z0-9 ]", tytul):
stivens
  • Rejestracja: dni
  • Ostatnio: dni
0

Musisz to wy-escape-owac. W zaleznosci od dialektu to \- lub \\- (nie pamietam, ktorego Python uzywa)

EDIT: r"[\,a-zA-Z0-9\s\-]" dziala. Ale nie wiem czy takiego regexa na pewno chcesz? Bo to po prostu znajduje pierwsze wystapienie :)

KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
0

@stivens: chodzi mi o to żeby wyrażenie sprawdziło mi czy w imputcie którego podaję są tylko te znaki co podałem wyżej

stivens
  • Rejestracja: dni
  • Ostatnio: dni
1
Kopiuj
re.match(r"^[\,a-zA-Z0-9\s\-]+$", title)
lion137
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5023
0

https://regex101.com/r/JKlCU0/1
Dzięki @stivens :)
A w Pythonie, \\

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.