В настоящее время мы сопоставляем пользовательский ввод с использованием регулярного выражения ([^=]*)(=[01])
. Пользователь вводит имя сигнала (nnnann, где п является числовым и является алфавитно-цифровой символ) и его значение, то есть 0 или 1.Регулярное выражение для соответствия различным шаблонам
Пример: 101e10 = 1
Теперь мы должны расширить парсер также соответствовать шаблону t = N, где N означает число.
Пример: Т = 5000
Я пытался расширить регулярное выражение для соответствия оба случая с использованием ([^=]*)(=[01])|(^t)(=[0-9]*)
, но с использованием этого выражения первая часть уже соответствует шаблону т = N.
Как я могу исключить шаблон t, который будет соответствовать первой части выражения [^=]*
?
Я уже попытался вычесть рисунок, используя ([^=]-[t]*)(=[01])|(^t)(=[0-9]*)
или ([^=]*-[t])(=[01])|(^t)(=[0-9]*)
, но оба не делают этого трюка. Кроме того, у меня такое чувство, что обе попытки не являются правильным использованием функции вычитания.
Можете ли вы предоставить некоторые примеры строк, которые * будут * совпадать, а некоторые строки, которые * не совпадают *? –