Регулярное выражение для определения без скобок, если заявления - PullRequest
0 голосов
/ 18 апреля 2019

Я пытаюсь создать регулярное выражение для обнаружения операторов без скобок в Javascript из традиционных операторов if.

Я пытаюсь обнаружить операторы, подобные этому:

if (foo) doSomething(); 

без обнаружения следующего утверждения:

if (foo) {
    doSomething();
}

До сих пор я придумал следующее выражение: if(\s*)\(.*\)\s(?!{), которое позволяет мне обнаруживать большинство без скобок, если операторы нечувствительны к пробелам между ifи условие.

Однако это выражение также запускается для операторов, подобных следующей причине закрывающей скобки вызова функции:

if (foo()) {
    doSomething();
}

Есть ли способ предотвратить это или нет?принципиально невозможно?

1 Ответ

0 голосов
/ 18 апреля 2019

Что-то вроде /if.*\)\s*(?!\{)\s*\n\s*(?!\{)/gm

Конечно, оно все равно будет совпадать в строках, JSX и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...