Проблема в регулярном выражении линейной функции в java [закрывшая]

У меня есть эта проблема и дело в том, что это выражение не оценивает мне уравнения правильной формы. Примеры этого были бы:

  1. 3x1+5x2+6x3>=9
  2. x1>8
  3. x3<=8

Я старался делать это, но регулярные выражения не даются мне, так я старался делать это.

public static boolean PatronEcuacion(String str) {
    return (str.matches("^[\\d]|[x].*[+-]?[<=>=]?[\\d]$"));
}
0
задан 08.01.2017, 03:25
0 ответов

Я думаю, что то, что ты ищешь, является выражением регулировать как эта:

^([+-]?\d*x\d)+[<>]?=?\d+$

что подтверждая в regex101 проверяет все случаи, которые ты помещаешь:

  • 3x1+5x2+6x3> =9
  • x1> 8
  • x3 <=8

С этим выражением то, что подтверждается, является следующим:

  1. Должно быть по крайней мере одно из следующего:
    • Опциональный знак + или -
    • Продолженный необязательно числа (цифр, которые)
    • Следуемый одной x
    • Следуемый цифрой
  2. Что будет продолжен необязательно из-за < или >
  3. И из-за одного = опциональный также
  4. Заканчивая с числом (по крайней мере цифры)
1
ответ дан 03.12.2019, 17:50

Теги

Похожие вопросы