Я хочу проверить, содержит ли строка: String s = "a=182 b=41 c=72", только: abc, с соответствующими значениями, но они могут появляться в случайном порядке.Как мне это сделать?
String s = "a=182 b=41 c=72"
Я попытался сделать следующее: (?=a\\=(\\d+))\\s+(?=b\\=(\\d+))\\s+(?=c\\=(\\d+))
(?=a\\=(\\d+))\\s+(?=b\\=(\\d+))\\s+(?=c\\=(\\d+))
Попробуйте это регулярное выражение:
^(?:(\\s*[abc]=)(?!.*\\1)\\d+){3}$
Нажмите для демонстрации
Код JAVA
Объяснение:
^
(?:(\\s*[abc]=)(?!.*\\1)\\d+){3}
(\\s*[abc]=)
a
b
c
=
(?!.*\\1)
\\d+
{3}
$
Если ваша строка всегда содержит пробел, вы можете разделить их на массив, например,
String[] words = s.split(" ");
, а затем проверить первый символ каждого элемента массива.