Я в настоящее время строит веб-приложения на Java, и я новичок в regex.I имеют следующие требования для проверки формулы:Regex выражение частично проверки выражение
Формула может содержать следующий набор символов:
- цифра: 0 - 9
- Альфа: A - Z
- Операторы: *, /, +, -
- сепаратор:;
Состояние:
- Формула должна начинаться с «Т»
- символ «Т» всегда должно сопровождаться цифрой или альфа.
- Сепаратор должен всегда следовать за «Т».
- Символу «M» всегда следует следовать оператор.
- Оператор должен быть всегда с последующей цифрой
У меня есть следующее выражение, как показано ниже:
^(?!.*[*+/-]\D)(?!.*T\W)(?!.*[;:][^T])(?!.*M[^*+/-])[T][A-Z0-9 +/*;:-]*$
Следующее выражение удовлетворяется с вышеуказанным выражением регулярного выражения, которое является действительным:
TA123; T1 * 2/32M +
Но я не знаю, как добавить следующую проверку в регулярное выражение выше:
- Оператор должен быть всегда с последующей цифрой
- Символ «Т» должен быть всегда следует цифра или альфа.
- За сепаратором всегда следует «Т»
- Символу «М» всегда следует следовать оператор.
Регулярное выражение выражение выше допустимого приведенного выше условия частично только те, один ниже, должно быть недействительным, но это действительно что неправильно:
Один ниже не должен работать в качестве оператора (*, /, +, -) всегда должно сопровождаться цифрой, но в этом случае она действует:
T4R*
Один ниже не должен работать как символ «T» всегда должен сопровождаться цифрой или альфа, но в этом случае действует:
T4RT
Один ниже, не должны работать в качестве разделителя (;) всегда должен следовать «Т», но в этом случае она действует:
T4;
Один ниже, не должен работать как символ «М» всегда должен следовать оператор, но в этом случае он действует:
T4RTM
Привет @vks,
После применения изменений в выражении Изотерм пожалуйста найти результат ниже:
Один ниже не должен работать в качестве оператора (*, /, +, -) всегда должно сопровождаться цифрой
Он работает с характером, но не с цифрой и ожидаемым является цифра:
Недопустимый T4R * H
действует T4R * 5
символ «Т» всегда должен сопровождаться цифрой или альфа:
T4RT недействительным, как и ожидалось T4RT5 должен быть действительным, но фактический результат является недействительным T4R должен быть действительным, но реальный результат недействителен
Сепаратор (;) всегда должен следовать «Т»:
T4, T должен быть действительным, но фактический результат недействителен T4; недействителен, как и ожидалось
Символ «M» всегда должен сопровождаться оператором:
T4RTM должен быть + действительным, но фактический результат недействительным T4RTM недействительным, как ожидается,
Любая идея, как, какие изменения необходимы для регулярного выражения выражение, чтобы заполнить вышеуказанные критерии PLS?
Заранее спасибо за любую помощь
'TA123; T1 * 2/32M +' является недействительным тоже, как не существует ни одна цифра перед it.please добавить уважительной exmaples – vks