Соответствует ОДНОМУ определенному символу, затем другому, то минус (-) - PullRequest
0 голосов
/ 25 апреля 2018

Я пытаюсь найти соответствие следующему регулярному выражению: У меня есть строка: F-F-W-F Мне нужно написать регулярное выражение, которое проверяет, является ли первый символ W или F, за которым следует -.Чтобы проверить строку F-F-W-F.

Вот что я придумал:

if(SBAKTIV.matches("[WF]{1}-[WF]{1}-[WF]{1}-[WF]{1}")) {
        SBAKTIVMessageForLog = "SBAKTIV: Okay";
        return true;

1 Ответ

0 голосов
/ 25 апреля 2018

Как уже упоминалось в комментариях, ваше регулярное выражение хорошо.Или, возможно, может быть сокращено до ([WF]-)*[WF] или ([WF]-){3}[WF].

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

for (int i = 0; i < word.length(); i++) {
    if (i % 2 == 0) {
        if (word.charAt(i) != 'F' && word.charAt(i) != 'W') {
            return false;
        }
    } else if (word.charAt(i) != '-') {
        return false;
    }
}
return true;

Демо

* Очевидно, это основано на том, что длина в порядке, не ноль и т. Д.

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