Jestem nowy w wyrażeniach wyrażeń regularnych w języku Java. Jak sprawdzić, czy nazwa pliku ma następujący format: update_9_0_27
? Czy jest to coś w rodzaju [0-9][\\_][0-9][\\_][0-100]
?Wyrażenie regeksu w celu sprawdzenia nazwy ciągu znaków z podkreśleniem w java
Odpowiedz
Poniższa powinno działać:
^[a-zA-Z]+_\d_\d_\d{1,2}$
^
i $
zaczynają kotew strunowych, tak że nie będzie pasował jedynie część napisu. Każdy \d
będzie pasował do jednej cyfry, a {1,2}
po końcowym \d
oznacza "dopasować jedną i dwie cyfry (włącznie)".
Jeśli część update
nazwy pliku jest zawsze stała, wtedy trzeba zastosować następujące:
^update_\d_\d_\d{1,2}$
pamiętać, że przy tworzeniu tego regex w ciąg Java trzeba będzie uciec każdy backslash, więc ciąg będzie wyglądać jak "^update_\\d_\\d_\\d{1,2}$"
.
Nie. W java potrzebujesz podwójnych ukośników;) – ddmps
Po prostu dodałem to do mojej odpowiedzi dla jasności, ale gdy pytam o wyrażenia regularne, myślę, że bardziej sensowne jest podanie go w formacie oczekiwanym przez silnik regex, chyba że proszą o kod w danym języku. –
Czy pozycje cyfr są stałe, tj. 1-1-2?
^update\_\d\_\d\_\d\d$
Używany w ciąg Java, trzeba by uciec backslashy
"^update\\_\\d\_\\d\\_\\d\\d$"
Jeśli masz na myśli przez [0-9][\\_][0-9][\\_][0-100]
jednocyfrowe, podkreślenia, jednocyfrowe, podkreślenia, zero do jednego -hundred i sekwencja ta może pojawić się w dowolnym miejscu w ciągu, następnie
".*[0-9][_][0-9][_](100|[1-9][0-9]|[0-9]).*"
Zauważ, że mam teraz używany [_]
jako alternatywa do \_
dla określenia w dosłownym podkreśleniu. Ostatnia część testuje specjalnie dla 0-100.
- 1. Wyrażenie regularne w celu ograniczenia długości ciągu znaków
- 2. Python - oblicz wyrażenie matematyczne w ciągu znaków
- 3. Wyrażenie regularne w celu sprawdzenia, czy ciąg zawiera tylko zera
- 4. Tworzenie selektora właściwości Wyrażenie z ciągu znaków
- 5. numer z ciągu znaków w java
- 6. Optymalizacja regeksu - wymykanie się znakom ampersands w języku Java
- 7. Wyrażenie regularne w celu dopasowania dokładnego słowa - wyróżnienie ciągu wyszukiwania
- 8. Wyrażenie regularne w celu ograniczenia liczby znaków do 10
- 9. generowanie losowego ciągu znaków w php dla nazwy pliku
- 10. Sortowanie pojedynczego ciągu znaków w języku Java
- 11. liczyć określone znaki w ciągu znaków (Java)
- 12. Jak wpisywać cudzysłowy w ciągu znaków Java?
- 13. Wyrażenie regularne w celu dopasowania cytowanego ciągu osadzonego w innym cytowanym ciągu
- 14. Wyrażenie regularne do wykrywania powtórzeń w ciągu znaków
- 15. Wyrażenie regularne w celu dopasowania "|"
- 16. Formatowanie podłańcucha w celu pobrania wszystkich znaków po pierwszym znaku podkreślenia, ale przed drugim podkreśleniem?
- 17. Jak usunąć osadzone nawiasy klamrowe w ciągu znaków Java?
- 18. skorzystać z usługi w celu sprawdzenia Google InAppPurchase
- 19. Używanie ciągu znaków jako nazwy zmiennej
- 20. Oblicz wyrażenie matematyczne z ciągu znaków przy użyciu VB
- 21. Uruchom kod z ciągu znaków w języku Java
- 22. Użyj odpytywania() w celu sprawdzenia modyfikacji pliku
- 23. Jak wywołać funkcję, używając ciągu znaków nazwy funkcji w R?
- 24. Ocena zmiennych środowiskowych w ciągu znaków
- 25. Jak przekonwertować wartość ciągu na wyrażenie w języku Java?
- 26. Usuwanie znaków z ciągu znaków
- 27. Utwórz funkcję JavaScript dynamicznie z nazwy ciągu znaków
- 28. Wyrażenie regularne PHP w celu usunięcia wszystkich znaków innych niż cyfry i kropki
- 29. Jak dołączyć backslash w ciągu znaków w java
- 30. Zmienne z podkreśleniem
Czy mógłbyś bardziej opisać swój format? Czy "aktualizacja" jest częścią formatu? Pytam, ponieważ próbujesz utworzyć wyrażenie regularne dla '9_0_27'. – Pshemo
Czy nie powinno być "\\ w +"? w przeciwnym razie użyj '[a-zA-Z] + _ \\ d _ \\ d_ [01]? \\ d {1,2}'. – HamZa
@Pshemo tak aktualizacja jest częścią nazwy pliku. – MindBrain