Я пытаюсь сопоставить операторы Matlab в строке. Эти операторы могут быть "+", "-", "*", "/", ".*", "./",
и т. Д. (Я заключу операторы в "
, чтобы указать, что в Matlab есть двухсимвольные операторы).Regex: Соответствующие арифметические операторы и двухсимвольные операторы
Набор символов работает без проблем для односимвольных операторов. Например, это регулярное выражение [\+\-\*\/]
соответствует операторам один символьных просто отлично в следующей тестовой последовательности:
myVar = 1.0 * 5 + 1/2 + a .* b + a ./ b;
Проблема возникает, когда я пытаюсь включить операторы двухсимвольных. Следующее выражение [\+\-\*\/\.\*]
также соответствует .
в 1.0
.
Будучи новичком в регулярных выражениях, я попытался включить группу внутри набора символов, подобного этому [\+\-\*\/(\.\*)]
, но он не работает.
Любая идея, как я могу включить двухсимвольный элемент в набор символов?
Btw, только '/' и ']' должен быть экранирован внутри класса символов, если вы поместили тире в качестве последнего символа. –