Я делаю парсер для проекта nand2tetris . Я хочу проверить, является ли поле назначения либо M|D|MD|A|AM|AD|AMD
, а также различные варианты комбинаций, например MA
, а не только AM
.
^(M|D|MD|A|AM|AD|AMD)\s*=$
Это регулярное выражение правильно соответствует AM=
, но не MA=
.
Я не хочу перечислять все возможные комбинации этих токенов, есть ли способ сделать это просто?