Попытка придумать выражение Regex - PullRequest
1 голос
/ 18 февраля 2020

Я пытаюсь разобрать эту строку: *(!((stunned)||dead))

В настоящее время есть

// ["*", "!", "stunned", "||dead"]
string.match(/[^()]+/g)

Пытаюсь получить ["*", "!", "stunned", "||", "dead"]

В идеале таким способом, который также отделите его независимо от размещения "||dead" или "dead||"

при поддержке ||, &&, ==

1 Ответ

3 голосов
/ 18 февраля 2020

Возможно, вы хотите либо сопоставить символы слова, либо символы не слова, которые не являются скобками:

const str = '*(!((stunned)||dead))';
console.log(str.match(/\w+|[^()\w]+/g));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...