Reguláris kifejezés Java-ban?
Olyan reg. kifejezést szeretnék írni, ami ellenőrzi, hogy egy input textfield-be csak számok és a négy alapművelet jele szerepelhet (+ - * /)
A csak számok már megvan: ^[0-9]+$ ezt kellene kiegészíteni a 4 operátor jelével.
pl fel lehet egyesével sorolni őket, logikai vagy kapcsolattal:
^[0-9|\+|\-|\*|\/]+$
Ezaz köszi! Annyi, hogy Eclipset használok, escape karakternek veszi a \-t, így duplán kell írni, ha esetleg valaki belefut hasonló szituációba
^[0-9|\\+|\\-|\\*|\\/]+$
Válaszod köszönöm.
Persze hogy \\+ kell írni
Első \ java szinten hatástalanítja a 2. \-t, hogy karakterként értelmezze a java. Így: \+ születik, amit átad a regex-nek, ahol meg a + speciális karaktert hatástalanítja.
Jó mi? :D Magyarán Regexnek ezt kell kapnia:
^[0-9|\+|\-|\*|\/]+$
Amit Java-ban így kell megadni, hogy azt kapja:
^[0-9|\\+|\\-|\\*|\\/]+$
Ha művelet ellenőrzésre kell ne használd azt mert ilyet is elfogad: 848+87++/7*****777777****45456***1321
Így már jó: ^([0-9]+(\++|\-+|\/+|\*+)[0-9]+)+$
#4:
nem azért, de a te regexed is elfogadja pl ezt: 848+87++7777777*45456***1321
#4:
A művelet ellenőrzés most nem szükséges, csak ezeknek a karaktereknek a kiszűrése kellett, de köszi azért.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!