Попытка найти количество логических операторов в файле - PullRequest
0 голосов
/ 09 декабря 2018

Итак, я читаю файл, и мне нужно посчитать количество логических операторов в этом файле, исходя из предложений, которые я здесь пробовал использовать регулярные выражения, но один из них я использую:

Regex reg = new Regex(@"/and|x?or|&&|[<>!=]=|[<>&!]|\|{1,2}/gi");

возвращает все, что соответствует, например, возвращает любую переменную с "or" в ней, или, если у меня есть оператор "<=", он считается как два отдельных оператора ("<" и <code>"=" отдельно).

Должен ли я даже использовать регулярные выражения в этой точке, потому что не похоже, что это поможет моей ситуации.

1 Ответ

0 голосов
/ 09 декабря 2018

Чтобы сопоставить <=, а не <, нужно использовать условное выражение:

(<=|<|>=|>)

, которое сначала попытается сначала сопоставить <= и, если это удастся, не будет проверятьдля <.То же самое относится к >= и =.

Чтобы сопоставить or, но не словами, вы можете использовать обходные пути, чтобы убедиться, что он сам по себе (добавление этого шаблона выше):

(<=|<|>=|>|(?<=[^a-zA-Z])or(?=[^a-zA-Z]))

Попробуйте демо .

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