Regex java da ishlamaydi

Bu regex [a-zA-Z] \ d \ d \ \ $ \ d \ d \ d \ d \ d \ d va mening qiymatim A11 $ 12-9190 . Lekin bu mos emas. Har qanday maslahatlar bormi?

0
Ushbu regex haqiqiy emas.
qo'shib qo'ydi muallif Hovercraft Full Of Eels, manba
Siz dollar oldidan qochib ketasiz, shuning uchun simni oxiriga yetkazasiz, bundan keyin siz ko'proq raqamlarni izlayapsiz. Mumkin emas.
qo'shib qo'ydi muallif FailedDev, manba
Foydalanadigan haqiqiy Java stringi nima?
qo'shib qo'ydi muallif millimoose, manba

4 javoblar

Har bir terslik \ java naqshde qo'shimcha terslik, \\ orqali qochish kerak. E'tibor bering, dollar belgisi oldidagi teskari egri chiziq allaqachon qochib ketgan.

Natijada regex:

[a-zA-Z]\\d\\d\\$\\d\\d-\\d\\d\\d\\d
4
qo'shib qo'ydi

Asosan, nima bo'ladi, Java sizning \ d - String uchun qochish belgisidir, uni regex uchun d dan qochib, ikkinchidan qutilish uchun \\ d - birinchi \ ga aylantirasiz.

2
qo'shib qo'ydi

Sizning regeksingiz haqiqiy emas. Masalan,

  String test = "A11$12-9190";
  String regex = "[a-zA-Z]\\d\\d\\$\\d\\d-\\d\\d\\d\\d";

  System.out.println(test.matches(regex));
1
qo'shib qo'ydi

Barcha \ qochib ketasizmi? Agar sizda mag'lub bo'lsa, "\\ d" ni amalga oshirishingiz kerak bo'ladi.

0
qo'shib qo'ydi